1. 程式人生 > >Hibernate 離線查詢DetachedCriteria實現分頁

Hibernate 離線查詢DetachedCriteria實現分頁

DetachedCriteria dc = DetachedCriteria.forClass(Permission.class);
// 獲取總記錄數
Long totalCount = (Long) dc.setProjection(Projections.rowCount())
.getExecutableCriteria(dao.getHibernateTemplate()
.getSessionFactory().getCurrentSession()).uniqueResult();

// 取消投影
dc.setProjection(null);

// 設定hibernate的結果集為一個物件中巢狀關聯屬性物件,而不是包含多個物件(該物件和關聯屬性物件)
dc.setResultTransformer(DetachedCriteria.ROOT_ENTITY);

// 分頁獲取資料集
dao.findByCriteria(dc, Permission.class, firstResult, maxResults);