/* * To change this template, choose Tools | Templates * and open the template in the editor. */ 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.SessionFactory; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; import com.rjconsultores.ventaboletos.dao.ClasseServicoDAO; import com.rjconsultores.ventaboletos.entidad.ClaseServicio; /** * * @author Administrador */ @Repository("claseServicioDAO") public class ClasseServicoHibernateDAO extends GenericHibernateDAO implements ClasseServicoDAO { @Autowired public ClasseServicoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { setSessionFactory(factory); } @Override public List obtenerTodos() { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); c.addOrder(Order.asc("descclase")); return c.list(); } 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; } public List buscarPorNome(Integer idClaseServicio, String nomeClaseServicio) { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("descclase", nomeClaseServicio)); if (idClaseServicio != null) { c.add(Restrictions.ne("claseservicioId", idClaseServicio)); } return c.list(); } public List buscarTodosExceto(Integer... idClase) { Criteria c = this.makeCriteria(); for (Integer id : idClase) { c.add(Restrictions.ne("claseservicioId", id)); } c.add(Restrictions.eq("activo", Boolean.TRUE)); c.addOrder(Order.asc("descclase")); return c.list(); } }