0

我们正在使用 Grails 和 Hibernate。我们org.hibernate.StaleObjectStateException的日志中有一个。我看到这可能是由于乐观锁定失败而发生的。美好的。但是,我想确保从同一个线程的多次更新中永远不会发生这种情况。我的意思是永远不会。是否存在对同一个休眠实体进行多次更新但都来自同一个线程的任何极端情况,这会导致此异常?

谢谢,

4

1 回答 1

1

我没有尝试,但我预计此代码会出现此错误:

 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

例如,当您有在相同实体上工作的复杂辅助对象时,就会发生这种情况。

于 2013-10-01T09:56:13.977 回答