Hibernate分页查询oracle数据库显示结果集与实际查询不匹配
2014-03-26 23:51
597 查看
在使用Hibernate分页查询功能之后,会发现查询出来的结果集不是我想象的,有时记录顺序会变动,有时有的记录会查不出来,于时只好把hibernate的源码拿来看看,结果还真发现了问题,以下是我的修改方案:
//if (hasOffset) {
pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");
//}
//else {
// pagingSelect.append("select * from ( ");
//}
pagingSelect.append(sql);
if (hasOffset) {
pagingSelect.append(" ) row_ ) where rownum_ <= ? and rownum_ > ?");
}
else {
pagingSelect.append(" ) row_ ) where rownum_ <= ?");
//pagingSelect.append(" ) where rownum <= ?");
}
这是hibernate对oracle方言中的代码,我想大家都能看的懂!要修改的类文件是:
Oracle9iDialect.java
Oracle9Dialect.java
Oracle8iDialect.java
Oracle8Dialect.java
OracleDialect.java
//if (hasOffset) {
pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");
//}
//else {
// pagingSelect.append("select * from ( ");
//}
pagingSelect.append(sql);
if (hasOffset) {
pagingSelect.append(" ) row_ ) where rownum_ <= ? and rownum_ > ?");
}
else {
pagingSelect.append(" ) row_ ) where rownum_ <= ?");
//pagingSelect.append(" ) where rownum <= ?");
}
这是hibernate对oracle方言中的代码,我想大家都能看的懂!要修改的类文件是:
Oracle9iDialect.java
Oracle9Dialect.java
Oracle8iDialect.java
Oracle8Dialect.java
OracleDialect.java
相关文章推荐
- Hibernate查询,返回new对象(注意这个新定义的类要有构造函数),使用sql带条件分页查询并且把结果显示到一个对象的集里面的解决方案
- Hibernate查询,返回new对象(注意这个新定义的类要有构造函数),使用sql带条件分页查询并且把结果显示到一个对象的集里面的解决方案
- 使用valuelist实现查询结果集的分页显示
- 总结一些分页查询的方法SQL server,MySQL,oracle数据库及hibernate中
- oracle数据库查询没问题,正常显示两个汉字;但是java后台Hibernate查询的时候只显示第一个汉字
- Struts和Hibernate实现的查询分页显示
- hibernate_查询简介: 分页, 数据总数, 结果集的包装, 位置参数的设置
- hibernate分页查询,在自己写的s2sh注册登录的基础上添加对数据表的分页显示功能
- Hibernate 使用原生SQL查询oracle数据库显示问题(char,Date)
- Hibernate 分页中,查询指定页面的数据
- 在用hibernate实现oracle 分页查询时报错ORA-00923: FROM keyword not found where expected
- JSP通用查询处理与分页显示
- 使用HIBERNATE的SQL查询并将结果集自动转换成POJO
- oracle数据库实现分页查询
- 前台jsp获取后台查询的结果集数据并实现分页显示
- Struts中如何实现查询结果分页显示
- php按条件查询的数据分页显示,点击下一页时又列出全部数据的解决办法
- 利用Struts2和Hibernate实现页面分页显示的功能
- 分页(对查询出的数据进行分页显示)
- Hibernate 高级查询技巧——分页查询