Ber*_*rdo 9 java oracle hibernate jdbc
我试图做分页与Hibernate使用setFirstResult()和setMaxResults()而设置的第一个结果为0的时候,我没有得到预期的结果.
执行以下操作时:
Query query = session.createQuery(queryString);
query.setFirstResult(0);
query.setMaxResults(30);
List list = query.list(); //list.size() returns 10
Run Code Online (Sandbox Code Playgroud)
但如果我将第一个结果设置为1(或者任何不同于0的结果):
query.setFirstResult(1);
query.setMaxResults(30);
List list = query.list(); //list.size() returns 30
Run Code Online (Sandbox Code Playgroud)
我读到这是jdbc驱动程序中的一个已知错误,但我搜索了一个解决方案,我似乎无法找到它.有没有人遇到类似的东西,并找到了解决方案?
Ber*_*rdo 13
显然添加setFetchSize()就是诀窍.所以像这样的东西现在完美无缺:
query.setFirstResult(0);
query.setMaxResults(30);
query.setFetchSize(30);
List list = query.list(); //list.size() now returns... wait for it... 30
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7468 次 |
| 最近记录: |