Hibernate使用Criteria分页查询翻页异常处理

之前通过Projection(投影)获得了数据总行数,

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

 然后首先需要把投影置空为的是返回List型数据出来,

criteria.setProjection(null);

如果不置空的话criteria.list()方法将返回的是行数 (int型),而不是所要查询的数据库数据。

而且Criteria的ResultTransformer会变成 PassThroughResultTransformer,criteria.list()的时候可能结果会跟理想的不一样,所以我们还要再把结果以Entity的形式返回,而不是Object[ ]。

criteria.setResultTransformer(Criteria.ROOT_ENTITY);

 

posted @ 2020-01-08 17:50  墨竹丶蝉翼  阅读(252)  评论(0)    收藏  举报