1. 程式人生 > >Hibernate 利用Criteria一次性分頁查詢資料和總數

Hibernate 利用Criteria一次性分頁查詢資料和總數

           拿到SessionFactory建立Criteria物件
	Criteria  c = session.createCriteria(Case.class);
	//插入查詢條件
         ...
	//計算總數
    c.setProjection(Projections.rowCount());
    page.setTotal(((Long)c.uniqueResult()).intValue());
	
           單表查詢的話只需要加這行
	c.setProjection(null);
	
	多表的話需要加這行,不加c.list將返回List<Object>
	c.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);
	//分頁
	if(page!=null){
	c.setFirstResult(page.getStart());
	c.setMaxResults(page.getPageSize());
	}