2017-03-14 27 views
1

我正在將Hibernate從3.2.6遷移到5.2。我正在嘗試使用新的org.hibernate.query.Query api而不贊成使用org.hibernate.Query。舊的API工作得很好,但是當我將其更改爲新的API,查詢失敗,出現以下異常Hibernate setMaxResults拋出SQLServerException:索引1超出範圍

SQLServerException: The index 1 is out of range 

如果我註釋掉setMaxResults,每一件事工作正常。調試源顯示它試圖應用LIMIT子句並失敗。生成的SQL在select子句之後已經有TOP 8,那麼它爲什麼試圖應用LIMIT子句?

我認爲這是最新消息來源中的一個錯誤。我錯過了什麼? 我認爲它是一個Hibernate中的錯誤,我如何用hibernate提出問題?

+0

相關問題 [此處輸入鏈接的描述(http://stackoverflow.com/questions/42785942/sqlserverexception最索引-1-是-外的範圍-時-executiong - 彈簧 - 數據-FIND) –

回答

1

將sql server方言改爲SQLServer2008Dialect修復了這個問題。創建博客文章here