| Hibernate version: 2.3.1
 Hi i have a doubt with a external query where i use a  SQL string and the class Query , this is my function :
 
 
 public List obtenEjecutivosXGrupo(String[] parametros) throws HibernateException{
 ResourceBundle bundle;
 
 bundle=ResourceBundle.getBundle("resources.GlobalExceptions");
 if(parametros==null && parametros.length!=4 && parametros[0].trim().length()==0 && parametros[1].trim().length()==0 && parametros[2].trim().length()==0){
 throw new IllegalArgumentException(bundle.getString("cat.obtenEjecutivosXGrupo.errParams"));
 }
 try{
 String strQry=" SELECT  G.id.flGrupo, G.dsGrupo, U.id.idPersona, U.fgEstatus, P.paterno, P.materno, P.nombre,U.flCampania,C.dsCampania  ";
 strQry+= " FROM TmkUsuario U  INNER JOIN ixemkt.sd.catalogos.TmkGrupo G ON (G.id.clUnegocio = U.id.clUnegocio AND G.id.flGrupo = U.flGrupo AND G.id.flAnegocio = U.flAnegocio) INNER JOIN ixemkt.sd.catalogos.VwBupPersonaFisica P  ON (P.idPersona = U.id.idPersona)";
 //strQry= strQry + " VwBupPersonaFisica P, TmkCatalogoFijo F, TmkCampania C,
 strQry+= " INNER JOIN ixemkt.sd.catalogos.TmkCatalogoFijo F ON (F.flRegistro = U.fgEstatus)  LEFT OUTER JOIN ixemkt.sd.catalogos.TmkCampania C ON (C.flCampania = U.flCampania) " ;
 strQry+= " WHERE U.id.clUnegocio = :uNegocio AND U.flAnegocio = :aDifusion AND U.flCampania = :idCampania ";
 
 if(parametros[3]!=null && parametros[3].trim().length()>0 && Integer.parseInt(parametros[3])>=0){
 strQry= strQry + " and U.flGrupo=:flGrupo ";
 }
 strQry= strQry + " GROUP BY  G.id.flGrupo, G.dsGrupo, U.id.idPersona,P.paterno,P.materno,P.nombre,U.fgEstatus,U.flCampania,C.dsCampania";
 strQry= strQry + " ORDER BY   G.dsGrupo,U.id.idPersona,P.paterno,P.materno,P.nombre";
 
 List retornoList = null;
 
 Query  runQry = getSession().createQuery(strQry);
 runQry.setParameter("uNegocio", new Integer(parametros[0]));
 runQry.setParameter("aDifusion", new Integer(parametros[1]));
 runQry.setParameter("idCampania", new Integer(parametros[2]));
 if(parametros[3]!=null && parametros[3].trim().length()>0 && Integer.parseInt(parametros[3])>=0){
 runQry.setParameter("flGrupo", new Integer(parametros[3]));
 }
 Iterator it = runQry.iterate();
 retornoList = new ArrayList();
 VwObtenEjecutivosXGrupo VwObtenEjecutivosXGrupoObj = new VwObtenEjecutivosXGrupo();
 while (it.hasNext()) {
 Object[] tupla = (Object[]) it.next();
 VwObtenEjecutivosXGrupoObj = new VwObtenEjecutivosXGrupo();
 //Se validan los datos a ser formateados
 if(tupla[0]!=null) VwObtenEjecutivosXGrupoObj.setFlGrupo((Integer)tupla[0]);
 if(tupla[1]!=null) VwObtenEjecutivosXGrupoObj.setDsGrupo((String)tupla[1]);
 if(tupla[2]!=null) VwObtenEjecutivosXGrupoObj.setIdPersona((Integer)tupla[2]);
 if(tupla[3]!=null) VwObtenEjecutivosXGrupoObj.setFgEstatus((Integer)tupla[3]);
 String nombre = "";
 if(tupla[4]!=null) nombre=tupla[4].toString();
 if(tupla[5]!=null) nombre+=" "+tupla[5].toString();
 if(tupla[6]!=null) nombre+=" "+tupla[6].toString();
 VwObtenEjecutivosXGrupoObj.setNomEjecutivo(nombre);
 if(tupla[7]!=null) VwObtenEjecutivosXGrupoObj.setFlCampania((Integer) tupla[7]);
 if(tupla[8]!=null) VwObtenEjecutivosXGrupoObj.setDsCampania((String) tupla[8]);
 //agrego a la lista objeto de tipo VwObtenEjecutivosXGrupo
 retornoList.add(VwObtenEjecutivosXGrupoObj);
 }
 return retornoList;
 }
 catch(Exception e ) {
 throw new HibernateException("Error en el TmkUsuarioDAO --> obtenEjecutivosXGrupo : "+e.getMessage());
 }
 }
 
 
 
 
 and this is the error that i received :
 
 Error en el TmkUsuarioDAO --> obtenEjecutivosXGrupo : outer or full join must be followed by path expression [ SELECT  G.id.flGrupo, G.dsGrupo, U.id.idPersona, U.fgEstatus, P.paterno, P.materno, P.nombre,U.flCampania,C.dsCampania   FROM ixemkt.sd.catalogos.TmkUsuario U  INNER JOIN ixemkt.sd.catalogos.TmkGrupo G ON (G.id.clUnegocio = U.id.clUnegocio AND G.id.flGrupo = U.flGrupo AND G.id.flAnegocio = U.flAnegocio) INNER JOIN VwBupPersonaFisica P  ON (P.idPersona = U.id.idPersona) INNER JOIN TmkCatalogoFijo F ON (F.flRegistro = U.fgEstatus)  LEFT OUTER JOIN TmkCampania C ON (C.flCampania = U.flCampania)  WHERE U.id.clUnegocio = :uNegocio AND U.flAnegocio = :aDifusion AND U.flCampania = :idCampania  GROUP BY  G.id.flGrupo, G.dsGrupo, U.id.idPersona,P.paterno,P.materno,P.nombre,U.fgEstatus,U.flCampania,C.dsCampania ORDER BY   G.dsGrupo,U.id.idPersona,P.paterno,P.materno,P.nombre]
 
 
 My question is what do i need to correct this?, what's wrong ??
 Help me please !.
 
 Regards.
 
 
 |