hibernate 4.14 分页查询 出错

我的数据库是oracle 10g的

select top ? tasks0_.id as id2_, tasks0_.CMDFILE as CMDFILE2_, tasks0_.CMDID as CMDID2_, tasks0_.CREATEDATE as CREATEDATE2_, tasks0_.CSPID as CSPID2_, tasks0_.OBJNAME as OBJNAME2_, tasks0_.OBJTYPE as OBJTYPE2_, tasks0_.OPERATION as OPERATION2_, tasks0_.PRIORITY as PRIORITY2_, tasks0_.STATES as STATES2_ from BESTV_TASKS tasks0_ where 1=1

上面是输出的sql文!下面是错误信息。

org.hibernate.exception.SQLGrammarException: ORA-00923: 未找到要求的 FROM 关键字

据我初步推断oracle不支持top关键字这是sqlserver的关键字!

怎么解决>>>>>>>>>

按理说各个HQL语句通过方言翻译的话,都会自己适应分页语句,难道会在4.X会出现这种低级错误。猜测你的方言配置有问题,要不就是双数据源,搞混了吧。

仅供参考吧。

oracle的分页采用oracle的关键字rownum来实现。
如果你在程序代码中使用了hql语句,建议你使用Hibernate中Query接口的setFirstResult()和setMaxResult()方法来实现分页。

oracle没有top关键字,所以不能使用,建议用rownum来实现!

“JEBAIKEjava2012 ”这哥们说的对

看一下你的数据库配置方言是不是oracle

看方言吧。肯定配置错误了。
hibernate.dialect=org.hibernate.dialect.OracleDialect