JPA:检查实体对象是否已持久化
2022-09-03 13:13:25
有没有一种通用的方法可以
if(entity is persisted before){
entity = entity.merge();
}else{
entity.persist();
}
那么包含上述逻辑的方法到处都是安全的吗?
有没有一种通用的方法可以
if(entity is persisted before){
entity = entity.merge();
}else{
entity.persist();
}
那么包含上述逻辑的方法到处都是安全的吗?
如果您需要知道对象是否已经在持久性上下文中,则应使用 的方法。contains
EntityManager
只能说明实体是否持久化,实体没有这样的信息。EntityManager
在这里,您可以检查javadoc的包含
方法。
if (!em.contains(entity)) {
em.persist(entity);
} else {
em.merge(entity);
}