Hibernate setMaxResults抛出SQLServerException:索引1超出范围

时间:2017-03-14 00:10:21

标签: hibernate

我正在将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提出问题?

2 个答案:

答案 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