package cn.org.rapid_framework.page.impl; import org.hibernate.Criteria; import org.hibernate.criterion.Projections; import org.springframework.context.annotation.DependsOn; import cn.org.rapid_framework.page.Page; import cn.org.rapid_framework.page.PageRequest; /** * @author badqiu */ @Deprecated public class CriteriaPage extends Page{ public CriteriaPage(Criteria criteria,int pageNumber, int pageSize) { super(pageNumber,pageSize,queryTotalCount(criteria)); result = criteria .setFirstResult(getFirstResult()) .setMaxResults(this.pageSize).list(); } public CriteriaPage(Criteria criteria,PageRequest p) { this(criteria,p.getPageNumber(),p.getPageSize()); } private static int queryTotalCount(Criteria criteria) { return ((Integer)(criteria.setProjection(Projections.rowCount()).uniqueResult())).intValue(); } }