您的位置:首页 > 数据库 > Oracle

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐