使用Hibernate criteria进行分页查询时,怎么实现一次查询取得总记录数和分页后结果集

使用Hibernate criteria进行分页查询时,如何实现一次查询取得总记录数和分页后结果集?可先使用 Projection

使用Hibernate criteria进行分页查询时,如何实现一次查询取得总记录数和分页后结果集

?

可先使用 Projections.rowCount() 来取得总记录数,如下:

Long totalNum = (Long)criteria.setProjection(Projections.rowCount()).uniqueResult();

然后将 Projection 设为空,再进行正常分页。

???? ? criteria.setProjection(null);

??????? criteria.setFirstResult(beginIndex);

????? ? criteria.setMaxResults(pageSize);

????? ? List list = criteria.list();