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);