diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ClasseServicoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ClasseServicoHibernateDAO.java index 0f869567a..dc4261a0b 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ClasseServicoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ClasseServicoHibernateDAO.java @@ -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; @@ -42,19 +44,19 @@ public class ClasseServicoHibernateDAO extends GenericHibernateDAO 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)"; - - SQLQuery query = getSession().createSQLQuery(consulta); - query.setParameterList("empresas", empresasUsuario.split(",")); - query.setResultTransformer(new AliasToBeanResultTransformer(getPersistentClass())); - query.addScalar("descclase", StringType.INSTANCE); + public List buscarPorEmpresasDoUsuario(String empresasUsuario) { + + String consulta = "SELECT DISTINCT mcs.marcaClaseservicioPK.claseservicio " + + "FROM MarcaClaseServicio mcs " + + "WHERE mcs.marcaClaseservicioPK.marca.empresa.empresaId IN (:empresas) "; + + List ids = new ArrayList(); + for (String empresa : empresasUsuario.split(",")) { + ids.add(new Integer(empresa)); + } + Query query = getSession().createQuery(consulta); + query.setParameterList("empresas", ids); + List result = (List) query.list(); return result; }