pengyayun
2012-07-30 10:38
浏览 280
已采纳

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的关键字!

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • iteye_11976 2012-07-30 15:42
    已采纳

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

    仅供参考吧。

    打赏 评论
  • baike0627 2012-07-30 10:59

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

    打赏 评论
  • IT菜鸟2018 2012-07-30 11:24

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

    打赏 评论
  • iteye_5246 2012-07-30 12:26

    “JEBAIKEjava2012 ”这哥们说的对

    打赏 评论
  • weipj007 2012-07-30 16:34

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

    打赏 评论
  • u011138877 2012-07-30 18:26

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

    打赏 评论

相关推荐 更多相似问题