我正在将Hibernate从3.2.6迁移到5.2。我试图使用新的org.hibernate.query.Query api而不是弃用的org.hibernate.Query。旧api工作正常,但当我将其更改为新API时,查询失败并出现以下异常
SQLServerException: The index 1 is out of range
如果我评论setMaxResults
,那么每件事情都可以。调试源显示它正在尝试应用LIMIT
子句并失败。生成的SQL在TOP 8
子句之后已经有select
,为什么它会尝试应用LIMIT子句?
我认为这是最新消息来源中的一个错误。我错过了什么? 我认为这是Hibernate中的一个错误,如何向hibernate提出问题?
答案 0 :(得分:1)
将sql server dialect更改为SQLServer2008Dialect修复了该问题。创建了博文here。
答案 1 :(得分:0)
将hibernate版本更新为5.2.9:
<hibernate.version>5.2.9.Final</hibernate.version>
这是一个hibernate的错误:https://hibernate.atlassian.net/browse/HHH-11503