Hibernate分页功能数据重复问题

Posted Henu丶雨巷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate分页功能数据重复问题相关的知识,希望对你有一定的参考价值。

今天遇到一个很憋屈的问题那就是hibernate分页查询中出现重复数据,本来一直没有在意,以为是数据问题,但是一查程序和数据都没有问题,继续深入查看,找到问题了就是order By 时出的问题,唉。。。。

oracle中的分页机制就是通过rownum函数来实现的,rownum顺序号的生成是排序后生成的,例如:
select * from web_user where  rownum > 0 and rownum <= 10 order by name

这个排序中使用了name字段作为排序,但是数据不能保证name是唯一的,所以就会出现重复数据。当然如果将name设定为唯一索引那么就可以了。

所以如果oracle中需要分页排序的话,那么就要使用唯一键排序,当然如果使用多条件联合排序,那么要确保其中存在唯一键。


以上是关于Hibernate分页功能数据重复问题的主要内容,如果未能解决你的问题,请参考以下文章

分页功能设计(解决数据重复问题)

有没有办法向 Quarkus 注册 Hibernate Interceptor?

解决hibernate对Sql Server分页慢的问题

Hibernate QBC 分页

springmvc4+hibernate4分页查询功能

hibernate分页功能 设置开始位置无效