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

标签 hibernate grails

我们正在使用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/

相关文章:

grails - 嵌入式Grails脚手架

grails - 将Grails逻辑从 View 移动到 Controller

java - 将世界上所有国家和城市存储在 Lucene 索引中是好还是坏主意?

grails - Grails和PlayORM

grails - Grails版本差异

grails - 从当前语言环境获取Grails中的所有国际字符串?

hibernate - 为什么在 Grails 中唯一受限的字段在更新时失败

mysql - 映射一个@Lob 值的 Map

SQl 查询到 hibernate 查询

java - Hibernate:将面部嵌入存储在 128 列中