请教 Hibernate分页问题

evil_snake 2007-10-30 03:46:45
q.setFirstResult(10000);
q.setMaxResults(10);

这样是没什么问题,但生成的sql语句是 select top 10010 .......
如果更大的数据分页比如10W或更多,在后面几页里翻页时,速度会明显变慢。

我通过什么方式可以让Hibernate只从10000条数据开始取,取10条?

请求各位帮助
...全文
85 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
isoftware 2007-11-03
  • 打赏
  • 举报
回复
麻烦快点儿
急用!!!!!!
非常非常感谢
isoftware 2007-11-03
  • 打赏
  • 举报
回复
hibernate有自带的分页
告诉个网址可否?
谢谢
大叔obnijeh 2007-11-02
  • 打赏
  • 举报
回复
select top 10010 不是取10条......取10条是top 10 OK???
你那叫取10010条..肯定慢的....

通常分页传的参数是页数.及每页大小

query.setFirstResult((pageNum - 1) * pageSize);
query.setMaxResults(pageSize);

hzhz10161333 2007-11-02
  • 打赏
  • 举报
回复
楼上正解!
JackieCong 2007-11-01
  • 打赏
  • 举报
回复
嗯,这个是因为MsSqlServer数据库的原因,你可以用MySql试试就不会这样了和Hibernate无关
godenvoy 2007-11-01
  • 打赏
  • 举报
回复
你可以写个存储过程用来分页就好了
SKY138421 2007-10-31
  • 打赏
  • 举报
回复
hibernate有自带的分页,去网上就能查粗来设置起始记录和查询出来的记录个数
gougou8180 2007-10-31
  • 打赏
  • 举报
回复
hibernate根据你的数据库方言来生成sql的,你的是mssql吧。数据库决定的
allen_jiang101 2007-10-31
  • 打赏
  • 举报
回复
顶一下,
frogoo 2007-10-30
  • 打赏
  • 举报
回复
只能在HQL语句上下工夫了。 和用SQL查询一样。取出符合条件的最小结果集才是途径。

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧