在用hibernate实现oracle 分页查询时报错ORA-00923: FROM keyword not found where expected

  1. Query q=super.getSession().createQuery("from Eventinfoall");
  2.             q.setFirstResult(1);
  3.             q.setMaxResults(3);

            
用hibernate实现mysql sqlserver 分页时使用这种方法都没有问题,但是用oracle时就出现问题,老是报错
ORA-00923: FROM keyword not found where expected  
from关键字没有找到
但是如果直接用
  1. Query q=super.getSession().createQuery("from Eventinfoall");

是可以返回所有结果集的.
说明问题不在我写的hql语句上面.
接下来我又分析一下是不是jar包的问题,我试着去下载多个版本的oracle10 jar包,可是结果还是一样,报同样的错误.
这样jar包问题也就排除了。
与oracle有关的就只有spring配置文件了,我惊奇的发现在配置hibernate.dialect,我竟然用的是org.hibernate.dialect.SQLSERVERDialect
,立即修改为org.hibernate.dialect.OracleDialect,问题解决了,分页效果出来了。
总结:数据库用oracle,方言用sqlserver,这应该是说明,hibernate在处理这两种数据库在分页上是不相同的,所以就报错了,同时也说明了一些基
本的查询处理应该是相同的,所以直接查询能显示出结果集.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值