你排序的话是整体100条记录都排序 还是就排10条啊?
肯定是你的SQL语句写的问题啊
肯定是你的SQL语句写的问题啊
解决方案 »
- struts2-Tomcat后台报错Error filterStart(第一次发贴)
- 怎么把eclipse里的程序,发布成可执行文件?
- 我的一个string型的 "2011-08-11" 想转换成Date型的,怎么转哦
- 急求一个JAVA稳定的开源BLOG,项目很急,没时间自己写,最好支持ORACLE
- 关于MINA项目问题
- spring 注入某个配置文件的值里面能不能带变量?
- 兼职招聘
- 后台是java前台是php 然后前台读取后台提交在tomcat上面的文件
- 为什么每次打成war包发布,放到jboss的deploy下面,jboss都要重启才能部署好?
- 在Java中如何实现把从数据库中查询出来的数据集生成Exel表格
- 求 正整数、正小数、零的正则
- JACOB调用OCX的问题,搞了一天了还没解决,求大神
select * from (select rownum ro,t.* from xxx t) where rownum<=10 and ro>5没问题
setFirstResult();
setMaxResult();
配置好数据库方言会自动帮你转换为各数据库的分页语句
hibernate在查询第一页时与查询第二页及之后页时,生成的查询代码都不同,这肯定是hibernate的问题啊,如果在查询第一页时时,也使用:
select * from (select row_.*,rownum rownum_ from (myquery) row_) where rownum_<=10 and rownum_>0
是不会有任何问题的,但hibernate偏偏在查询第一页时,使用:
select * from (myquery) where rownum<=10 这样会导致查询结果的顺序不一致的啊,这应该是hibernate的BUG吧。
x.setFirstResult(start);
x.setMaxResult(size);
list = x.list();问题是hibernate在生成目标查询代码的时候,第一页和非第一页的查询代码是不同的。
1.我的代码中 myquery 部分是包含order by的
2.不一定要按主键排序吧?实际的业务情况,有些是不能按主键排序的。
你试试看:
select * from (select t.* from xxx t order by t.x1 asc) where rownum<=10
与
select * from (select row_.*,row_.rownum rownum_ from (select t.* from xxx t order by t.x1 asc) row_) where rownum_<=10 and rownum_>0这两种结果是不一样的,现在的问题就是我发现Hibernate里,第一页是采用的上者的方式,而非第一页时采用的是下者的方式。
oracle 每次查询返回的结果顺序不是相同的
order by 支持按多列排序 你可以在最后加上 id 不影响什么
帖sql
对头,Oracle的那个有子查询影响速度