悲观锁定不适用于查询 API
List esns=session.createQuery("from Pool e where e.status=:status "+
"order by uuid asc")
.setString("status", "AVAILABLE")
.setMaxResults(n)
.setLockMode("e", LockMode.PESSIMISTIC_WRITE)
.list();
我编写了上述查询,但是它没有生成for update
查询并且正在发生同步更新。
我使用的是 3.5.2 版本,它有一个 Criteria API 中的错误< /a>,查询 API 中是否也存在相同的错误,或者我做错了什么?
List esns=session.createQuery("from Pool e where e.status=:status "+
"order by uuid asc")
.setString("status", "AVAILABLE")
.setMaxResults(n)
.setLockMode("e", LockMode.PESSIMISTIC_WRITE)
.list();
I have the above query written, however it is not generating for update
query and simultaneous updates are happening.
I am using 3.5.2 version and it has a bug in Criteria API, is the same bug present in query API as well or I am doing something wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
setLockOptions 工作正常。这是与此相同的错误。
setLockOptions is working fine. It is the same bug as this one.
尝试使用 LockModeType.PESSIMISTIC_FORCE_INCRMENT,看看 这个解决方案。
Try to use LockModeType.PESSIMISTIC_FORCE_INCREMENT, take a look at this solution.