/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.rjconsultores.ventaboletos.dao.hibernate; import java.util.List; import org.apache.commons.lang.math.NumberUtils; import org.hibernate.Criteria; import org.hibernate.SessionFactory; import org.hibernate.criterion.Disjunction; 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.EsquemaAgrupacionDAO; import com.rjconsultores.ventaboletos.entidad.EsquemaAgrupacion; import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; /** * * @author RJ Consultores */ @Repository("esquemaAgrupacionDAO") public class EsquemaAgrupacionHibernateDAO extends GenericHibernateDAO implements EsquemaAgrupacionDAO { @Autowired public EsquemaAgrupacionHibernateDAO( @Qualifier("sessionFactory") SessionFactory factory) { setSessionFactory(factory); } @Override public EsquemaAgrupacion suscribir(final EsquemaAgrupacion entity) { String sql = "SELECT VTABOL.ESQUEMA_AGRUPACION_SEQ.NEXTVAL FROM DUAL"; Object o = this.getSession().createSQLQuery(sql).uniqueResult(); entity.setEsquemaagrupacionId(Integer.valueOf(o.toString())); EsquemaAgrupacion esquemaAgrupacion = super.suscribir(entity); this.getSession().flush(); return esquemaAgrupacion; } @Override public List obtenerTodos() { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); return c.list(); } public List buscar(EsquemaAgrupacion esquemaAgrupacion) { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("esquemaAgrupacion", esquemaAgrupacion)); return c.list(); } public EsquemaAgrupacion obtenerByEsquemaAgrupacion( Integer ec) { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("numagrupacion", ec)); c.add(Restrictions.eq("activo", Boolean.TRUE)); return (EsquemaAgrupacion) c.uniqueResult(); } @Override public boolean buscarNumAgrupacion(Integer numAgrupacion) { Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("numagrupacion", numAgrupacion)); if (c.list().isEmpty()) { return false; } else { return true; } } }