当前位置:  开发笔记 > 编程语言 > 正文

Hibernate的setFirstResult()问题与Oracle jdbc驱动程序有关

如何解决《Hibernate的setFirstResult()问题与Oraclejdbc驱动程序有关》经验,为你挑选了1个好方法。

我试图做分页与Hibernate使用setFirstResult()setMaxResults()而设置的第一个结果为0的时候,我没有得到预期的结果.

执行以下操作时:

Query query = session.createQuery(queryString);  
query.setFirstResult(0);  
query.setMaxResults(30);  
List list = query.list();  //list.size() returns 10  

但如果我将第一个结果设置为1(或者任何不同于0的结果):

query.setFirstResult(1);  
query.setMaxResults(30);  
List list = query.list();  //list.size() returns 30  

我读到这是jdbc驱动程序中的一个已知错误,但我搜索了一个解决方案,我似乎无法找到它.有没有人遇到类似的东西,并找到了解决方案?



1> Bernardo..:

显然添加setFetchSize()就是诀窍.所以像这样的东西现在完美无缺:

query.setFirstResult(0);  
query.setMaxResults(30);  
query.setFetchSize(30);  
List list = query.list(); //list.size() now returns... wait for it... 30


你这个好人!我刚刚遇到了这个问题,`setFetchSize()`立即修复了它.
推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有