package fr.chantier.dao.impl; import fr.chantier.dao.ClientsDAO; import fr.chantier.model.ClientsEntity; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import java.util.Collection; import java.util.LinkedHashSet; /** * Created by IntelliJ IDEA. * User: sora * Date: Oct 27, 2008 * Time: 6:00:22 PM * To change this template use File | Settings | File Templates. */ public class ClientsDAOImpl extends GenericHibernateDAO<ClientsEntity, Integer> implements ClientsDAO { public ClientsDAOImpl(Session session) { super(session); } public Collection<ClientsEntity> findAllExisting() { Criteria crit = getSession().createCriteria(getPersistentClass()); crit.add(Restrictions.eq("clientOld", false)); crit.addOrder(Order.asc("clientName")); return new LinkedHashSet(crit.list()); } public Collection<ClientsEntity> findByName(String input) { Criteria crit = getSession().createCriteria(getPersistentClass()); crit.add(Restrictions.eq("clientOld", false)); crit.add(Restrictions.ilike("clientName", input + "%")); crit.addOrder(Order.asc("clientName")); return new LinkedHashSet(crit.list()); } public ClientsEntity findClientByName(String inputSearch) { Criteria crit = getSession().createCriteria(getPersistentClass()); crit.add(Restrictions.eq("clientOld", false)); crit.add(Restrictions.eq("clientName", inputSearch)); return (ClientsEntity) crit.uniqueResult(); } }