/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.rjconsultores.ventaboletos.dao.hibernate; import java.util.Date; import java.util.List; import org.hibernate.Criteria; 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.VigenciaTarifaDAO; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; /** * * @author rodrigo */ @Repository("vigenciaTarifaDAO") public class VigenciaTarifaHibernateDAO extends GenericHibernateDAO implements VigenciaTarifaDAO { @Autowired public VigenciaTarifaHibernateDAO( @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("feciniciovigencia")); return c.list(); } @Override public List pesquisar(Date inicio, Date fim) { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); if (inicio != null) { c.add(Restrictions.eq("feciniciovigencia", inicio)); } if (fim != null) { c.add(Restrictions.eq("fecfinvigencia", fim)); } return c.list(); } @Override public List buscarVigenciasIntervalo(VigenciaTarifa vt) { Criteria c = this.getSession().createCriteria(VigenciaTarifa.class); c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.ge("fecfinvigencia", vt.getFeciniciovigencia())); c.add(Restrictions.le("feciniciovigencia", vt.getFecfinvigencia())); if (vt.getVigenciatarifaId() != null) { c.add(Restrictions.ne("vigenciatarifaId", vt.getVigenciatarifaId())); } c.addOrder(Order.asc("feciniciovigencia")); return c.list(); } }