package qa.qcri.aidr.trainer.pybossa.dao; import org.hibernate.criterion.Criterion; import java.io.Serializable; import java.util.List; /** * Created with IntelliJ IDEA. * User: jilucas * Date: 9/18/13 * Time: 5:46 PM * To change this template use File | Settings | File Templates. */ public interface AbstractDao<E, I extends Serializable> { E findById(I id); List<E> findAll(); void save(E e); void saveOrUpdate(E e); void delete(E e); List<E> findByCriteria(Criterion criterion); E findByCriterionID(Criterion criterion); List<E> findByCriteria(Criterion criterion, Integer count) ; List<E> getMaxOrderByCriteria(Criterion criterion, String orderBy) ; List<E> findUniqueByCriteria(Criterion criterion, String uniqueField); }