package com.rjconsultores.ventaboletos.dao.hibernate; 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.PtovtaComissaoDAO; import com.rjconsultores.ventaboletos.entidad.PtovtaComissao; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; @Repository("ptovtaComissaoDAO") public class PtovtaComissaoHibernateDAO extends GenericHibernateDAO implements PtovtaComissaoDAO { @Autowired public PtovtaComissaoHibernateDAO(@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("id")); return c.list(); } public List buscar(int id) { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("id", id)); return c.list(); } public List buscarByPuntaVenta(PuntoVenta puntaVenta) { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("puntoventaId", puntaVenta)); c.addOrder(Order.asc("empresaId")); return c.list(); } @Override public PtovtaComissao buscarPuntaVentaEmpresa(Integer puntaVentaId, Integer empresaId) { StringBuilder sql = new StringBuilder(); sql.append("from PtovtaComissao pc "); sql.append("where pc.puntoventaId.puntoventaId = :puntoventaId "); sql.append(" and pc.empresaId.empresaId = :empresaId "); Query query = getSession().createQuery(sql.toString()); query.setInteger("puntoventaId", puntaVentaId); query.setInteger("empresaId", empresaId); return (PtovtaComissao) query.uniqueResult(); } }