
oracle驱动程序应返回正确的行数。如果不是这种情况,我会感到惊讶。您能够确认驱动程序的结果正确吗?您可以打开Hibernate日志记录进行检查。
需要检查的几件事:
记录发送到数据库的实际SQL,并检查where子句中是否提到了version列。不确定是否通过批处理启用的Hibernate登录来记录SQL,然后您可能不得不采用另一种方式记录SQL(例如,p6spy)
如果在并发更新期间正确返回了行计数,则该应用程序运行正常。通过检查版本列的值是否已更新来更正此内容。
更新 根据以下链接,此问题在11g之前的Oracle驱动程序中一直存在,并已在版本12c中修复
https://hibernate.atlassian.net/browse/HHH-3360
对于以前的Oracle版本,还有一些其他有用的信息,即提供了自定义解决方案。
其他资源:https:
//hibernate.atlassian.net/browse/HHH-5070
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)