Java 重新加载持久化实体
我作为JPA供应商在我的应用程序中使用OpenJPA 这个问题是理论性的或概念性的: 有没有办法告诉实体管理器从数据库而不是从缓存加载实体 有问题的情况是:Java 重新加载持久化实体,java,jpa,openjpa,Java,Jpa,Openjpa,我作为JPA供应商在我的应用程序中使用OpenJPA 这个问题是理论性的或概念性的: 有没有办法告诉实体管理器从数据库而不是从缓存加载实体 有问题的情况是: EM1.persist(Entity1) EM2.merge(Entity1) EM1.find(Entity1) <--- Entity1 is the cached version rather than the merged one.. EM1.persist(Entity1) EM2.合并(实体1) EM1.find(En
EM1.persist(Entity1)
EM2.merge(Entity1)
EM1.find(Entity1) <--- Entity1 is the cached version rather than the merged one..
EM1.persist(Entity1)
EM2.合并(实体1)
EM1.find(Entity1)如果实体可用,那么em.refresh(entity)是强制重新加载实体的最干净的方法
如果您没有可用的实体,可以调用:
EM1.clear(); // all entities are detached - might not be desired.
EM1.find(Entity1);
在JPA2.0中,您还可以显式分离实体(但我不认为这比em.refresh()更好):
em.refresh(实体)
有什么问题?这只是一行代码,任何其他解决方案都不会比这更简洁。
EM1.detach(Entity);
EM1.find(Entity1);