hibernate的分页数据错乱问题

前言

使用hibernate的分页功能时,发现第一页和第二页的数据出现重复现象

原因

hibernate 分页查询 的第一页 和第二页之后的sql 不一样

第一页时是: select * from (myquery) where rownum<? 
第二页及之后页时是: 

select * from (select row_.*,rownum rownum_ from (myquery) row_) where rownum_<=? and rownum_>?

由于sql 不相同 可能造成数据库执行计划不同,然后导致数据库记录第一页 和第二页有重复记录

解决

order by 唯一键排序


版权声明:本文为Poppy_Evan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。