在用hibernate實現oracle 分頁查詢時報錯ORA-00923: FROM keyword not found where expected __oracle

來源:互聯網
上載者:User
Query q=super.getSession().createQuery("from Eventinfoall");             q.setFirstResult(1);             q.setMaxResults(3);
            
用hibernate實現mysql sqlserver 分頁時使用這種方法都沒有問題,但是用oracle時就出現問題,老是報錯
ORA-00923: FROM keyword not found where expected  
from關鍵字沒有找到
但是如果直接用
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在處理這兩種資料庫在分頁上是不相同的,所以就報錯了,同時也說明了一些基
本的查詢處理應該是相同的,所以直接查詢能顯示出結果集.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.