使用
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); 如果有多字段,就应该设置多次。
本文介绍了解决Hibernate分页查询中出现重复数据的问题,并提供了一种有效的方法来避免重复记录,同时确保分页结果的准确性。

被折叠的 条评论
为什么被折叠?



