是否可以从单个线程抛出StaleStateObjectException?

时间:2013-10-01 09:46:56

标签: hibernate grails

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

谢谢,

1 个答案:

答案 0 :(得分: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

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