当我尝试提交我的会话并且另一个用户也更改了同一个对象时,Hibernate 会抛出一个StaleObjectStateException
.
当我尝试从该异常中恢复时,我调用:
session.refresh(<staleObject>)
然后我再次调用之前失败的提交。但是在staleObjectStateException
同一个物体上再次发生。即使其他用户没有进行任何更改,我也验证了对象的版本号与我们数据库中的版本号相同。
有谁知道可能出了什么问题?有没有人对如何在不关闭和打开新会话的情况下优雅地处理异常有更好的想法?
注意:我们为我们的桌面 (RCP) 应用程序使用每个视图的单个会话实现