hibernate的分页排序BUG,有人会解决吗?该如何处理
hibernate的分页排序BUG,有人会解决吗?
在用hibernate处理oracle分页并排序问题时候会存在一个问题:第一页的数据在第二页中也显示,而应该在第二页显示的数据没有显示。
请问一下,有没有遇到这种问题的?如何解决啊?原因我知道,但不知道怎么解决。
原因就是查询第一页时所生成的查询代码和第二页及之后页的查询代码不一样,怎么解决呢?
第一页时是:
select * from (myquery) where rownum<10
第二页及之后页时是:
select * from (select row_.*,rownum rownum_ from (myquery) row_) where rownum_<=20 and rownum_>10
以上myquery就是我自己传入的查询代码,里面是包含orderby的
------解决方案--------------------
有可能 myquery 部分的排序大面积重复 所以没有一个标识
oracle 每次查询返回的结果顺序不是相同的
order by 支持按多列排序 你可以在最后加上 id 不影响什么
在用hibernate处理oracle分页并排序问题时候会存在一个问题:第一页的数据在第二页中也显示,而应该在第二页显示的数据没有显示。
请问一下,有没有遇到这种问题的?如何解决啊?原因我知道,但不知道怎么解决。
原因就是查询第一页时所生成的查询代码和第二页及之后页的查询代码不一样,怎么解决呢?
第一页时是:
select * from (myquery) where rownum<10
第二页及之后页时是:
select * from (select row_.*,rownum rownum_ from (myquery) row_) where rownum_<=20 and rownum_>10
以上myquery就是我自己传入的查询代码,里面是包含orderby的
------解决方案--------------------
有可能 myquery 部分的排序大面积重复 所以没有一个标识
oracle 每次查询返回的结果顺序不是相同的
order by 支持按多列排序 你可以在最后加上 id 不影响什么