我在表格中有多个字段的搜索条件。是否可以使用相同的hibernate条件对象来获取Result(使用setFirstResult和setMaxResult)并计算分页?我是指具有分页的搜索条件的结果集以及该特定搜索条件的结果总数。
步骤:
答案 0 :(得分:0)
简单的分页看起来像这样
public List<YourEntity> findDeviceTransactions(Integer id) {
return session.createCriteria(YourEntity.class)
.add(Restrictions.eq("id", id)) // add more Restrictions if you want
.setFirstResult(page)
.setMaxResults(10) //this can be a constant in your properties
.list();
}
计数看起来像
public int countYourEntityForPagination(Integer id) {
return ((Number) session.createCriteria(YourEntity.class)
.add(Restrictions.eq("id", id)) // add more Restrictions if you want
.setProjection(Projections.rowCount())
.uniqueResult()).intValue();
}