gpt4 book ai didi

java - Hibernate 的 setFirstResult() 问题与 Oracle jdbc 驱动程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:13:47 24 4
gpt4 key购买 nike

我正在尝试使用 setFirstResult()setMaxResults() 对 Hibernate 进行分页,但是当将第一个结果设置为 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 驱动程序中的一个已知错误,但我搜索了解决方案,但似乎找不到。有没有人遇到过类似的东西并找到了解决办法?

最佳答案

显然添加 setFetchSize() 就可以了。所以像这样的东西现在可以完美地工作了:

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

关于java - Hibernate 的 setFirstResult() 问题与 Oracle jdbc 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/520869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com