我刚刚从4.2.8升级到4.3.0并且我没有得到异常“非法尝试在非SELECT查询上设置锁定模式”。该查询是一个执行更新操作的简单@NamedQuery。有什么想法,我应该找出为什么这个WAS工作在4.2.8而不是4.3.0?
谢谢!
答案 0 :(得分:1)
这是4.3.0.Final驱动程序中的错误。我只能找到一种解决方案。由于4.3.0支持NamedNativeQueries中的命名参数(以及in子句的集合命名参数),因此您只需将这些查询重写为Native Queries即可。然后它会工作。
对我来说当然可怕的是,在Hibernate EntityManager单元测试中,它们必须具有NOT ONE单元测试才能在NamedQuery中执行更新查询。怎么会这样?我不知道。我没有查看代码,看看他们的测试覆盖率是什么样的。但只有一个人会表现出回归。
答案 1 :(得分:0)
看起来这是由this change引起的。有人在this bug report中报告了与您的问题类似的问题,并提交了仍在审理中的提取请求。