我们正在使用Grails和Hibernate。我们在日志中收到了org.hibernate.StaleObjectStateException
。我看到这种情况可能是由于乐观锁故障而发生的。精细。但是,我想确保在同一线程的多次更新中永远不会发生这种情况。我的意思是永远不会。是否有一个极端的情况,即同一休眠实体有多个更新,但所有更新均来自同一线程,可能导致此异常?
谢谢,
最佳答案
我没有尝试,但是我会从以下代码中看到此错误:
Foo foo1 = session.get(Foo.class, 1);
Foo foo2 = session.get(Foo.class, 1); // same ID
foo1.setBar(1);
foo2.setBar(2);
session.saveOrUpdate(foo1);
session.saveOrUpdate(foo2); // Should throw an error
例如,当您有在相同实体上工作的复杂辅助对象时,可能会发生这种情况。
关于hibernate - 是否可以从单个线程抛出StaleStateObjectException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19113015/