使用hibernate要小心喔

       有时候你使用return this.getSession().createQuery(queryString).setFirstResult( (pageNo - 1) * pageSize).setMaxResults(pageSize).list(); 方式来取一个list时,,发现怎么传数据的page不同返回的结果有时会相似呢?仔细检查打印sql语句,发现,hibernate重新组合sql语句了,select * from ( select row_.*, rownum rownum_ from ( select .......  order by showOrder) row_ where rownum <= 35) where rownum_ > 30,如果showOrder不是唯一大小的话,就会出现上面的情况,所以,,我们可以使用二个字段为排列,使问题解决。

      还有,有时,你写sql语句时要注意,比如一条slq语句中有“table as t1”,那么,其它的表也要用上as,不要写成“select t1 from table as t1 , table t where.......”。因为,不正规的sql语句,会让hibernate报错有点怪异。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值