有没有通用的方法可以
if(entity is persisted before){
entity = entity.merge();
}else{
entity.persist();
}
所以包含上述逻辑的方法在任何地方都是安全的?
最佳答案
如果您需要知道对象是否已经在持久性上下文中,您应该使用 EntityManager
的 contains
方法。
只有 EntityManager
可以告诉您实体是否持久化,实体没有此类信息。
在这里你可以检查 contains
method 的 javadoc .
if (!em.contains(entity)) {
em.persist(entity);
} else {
em.merge(entity);
}
关于java - JPA:检查实体对象是否已持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16092008/