日期:2014-05-17  浏览次数:20774 次

hibernate+oracle10g 做分页,返回数据只要页码为第1页,设置每页显示只要大于10,返回的数据都只有十条。
使用 HQL+命名参数 进行分页查询,页大小设为19,第一页有时候出现只返回10条的情况,第二页开始均正常;只要页大小设为大于10条,均只返回10条

用的hibernate 版本为hibernate3
oracle版本为oracle10g
------解决方案--------------------
是不是你第一次默认把显示的条数误传为10了哦?
------解决方案--------------------
引用:
Quote: 引用:

是不是你第一次默认把显示的条数误传为10了哦?

这个,不可能的,即始是query.setFirstResult(0); query.setMaxResults(100);这样附值查询得到的返回结果还只是10条哦。

那你把第一次query.list()的结果条数打出来看一下是不是10条呢?
------解决方案--------------------
我可以肯定的是我设置pageSize没有问题,如果有问题,第2,3,4....页都会有问题!
以我目前的测试,可能原因是hibernate的抓取策略有一条设置关于一次抓取几条数据的配置,可能是由于这个配置造成的!
配置相关参数:
hibernate.jdbc.fetch_size=60
hibernate.jdbc.batch_size=40