gpt4 book ai didi

java - 重新加载持久化实体

转载 作者:行者123 更新时间:2023-12-01 16:08:34 28 4
gpt4 key购买 nike

我作为 JPA 供应商在我的应用程序中使用 OpenJPA。

问题是理论或概念性的:

有没有办法告诉实体管理器从数据库而不是缓存加载实体?

有问题的场景:

EM1.persist(Entity1)
EM2.merge(Entity1)
EM1.find(Entity1) <--- Entity1 is the cached version rather than the merged one..

有什么优雅的方法吗?我真的不想调用 em.refresh(entity)

最佳答案

如果您有可用的实体,那么 em.refresh(entity) 是强制重新加载实体的最干净的方法。

如果您没有可用的实体,您可以调用:

EM1.clear(); // all entities are detached - might not be desired.  
EM1.find(Entity1);

在 JPA 2.0 中,您还可以显式分离实体(但我不认为这比 em.refresh() 更好):

EM1.detach(Entity); 
EM1.find(Entity1);

关于java - 重新加载持久化实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2049150/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com