hibernate分页问题

使用

Criteria.setFirstResult(page.getFirst() - 1);Criteria.setMaxResults(page.getPageSize());

进行分页的情况;会出现重复数据。如果使用

Criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

去除重复数据,页面上显示的条数就不正确了。例如在1-10条中有3条重复了,该才显示了7条数据,本应该显示10条数据的。这是由于某些字段是多对多或者是一对多情况,导致提取了关系表或者相关表的数据。只要在取数据时,不提取相应的数据即可。作如下修改即可:criteria1.setFetchMode(filed,FetchMode.SELECT); 如果有多字段,就应该设置多次。

相关推荐