首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jpa查找问题

jpa查找问题
EN

Stack Overflow用户
提问于 2010-09-16 21:37:16
回答 2查看 454关注 0票数 0

find方法不返回对象的最新版本。在我的代码中的某个地方,我找到一个对象,更改它,合并它,然后提交更改。在数据库中进行了更改,但是在另一个函数中,我找到了这个对象,但我的更改不在那里。我检查了竞态条件,结果是没有竞态条件。我已经检查了这个对象是否有重复或不同的ids,但它工作得很好。

有谁有主意吗?

db: mysql持久性: eclipselink

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-16 22:15:42

当另一个EntityManager执行合并/提交时,您是否已经打开了一个EntityManager?陈旧的实体可能来自尚未与提交到其他位置的另一个EntityManager中的数据库的更改同步的EntityManager。

尝试在需要同步的EntityManager上调用flush()方法。

票数 1
EN

Stack Overflow用户

发布于 2010-09-16 23:27:16

吉姆是对的。我有两个EntittyManager不同步。我的解决方案是现在只有一个实体管理器。有没有一个很好的解决方案来让两个管理器同步,因为我有两个线程,可能两个线程都想同时开始一个事务,例如,这可能是一个问题……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3727204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档