fixed bug #0007052 - mudança da query para HQL e trazendo o objeto todo para corrigir o erro que ocorria na hora de filtrar por Classe na tela de 'Linha'.

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@52270 d1611594-4594-4d17-8e1d-87c2c4800839
master
frederico 2016-01-26 17:38:11 +00:00
parent ea7d1809cd
commit a613a42962
1 changed files with 15 additions and 13 deletions

View File

@ -4,9 +4,11 @@
*/
package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Order;
@ -44,17 +46,17 @@ public class ClasseServicoHibernateDAO extends GenericHibernateDAO<ClaseServicio
@SuppressWarnings("unchecked")
public List<ClaseServicio> buscarPorEmpresasDoUsuario(String empresasUsuario) {
String consulta = ""
+ " SELECT DISTINCT CS.DESCCLASE AS descclase "
+ " FROM MARCA_CLASESERVICIO MC "
+ " JOIN CLASE_SERVICIO CS ON CS.CLASESERVICIO_ID = MC.CLASESERVICIO_ID "
+ " JOIN MARCA M ON M.MARCA_ID = MC.MARCA_ID "
+ " WHERE M.EMPRESA_ID IN (:empresas)";
String consulta = "SELECT DISTINCT mcs.marcaClaseservicioPK.claseservicio "
+ "FROM MarcaClaseServicio mcs "
+ "WHERE mcs.marcaClaseservicioPK.marca.empresa.empresaId IN (:empresas) ";
List<Integer> ids = new ArrayList<Integer>();
for (String empresa : empresasUsuario.split(",")) {
ids.add(new Integer(empresa));
}
Query query = getSession().createQuery(consulta);
query.setParameterList("empresas", ids);
SQLQuery query = getSession().createSQLQuery(consulta);
query.setParameterList("empresas", empresasUsuario.split(","));
query.setResultTransformer(new AliasToBeanResultTransformer(getPersistentClass()));
query.addScalar("descclase", StringType.INSTANCE);
List<ClaseServicio> result = (List<ClaseServicio>) query.list();
return result;
}