JPA: check whether an entity object has been persisted or not
ejb, jakarta-ee, java, jpa
Solution
If you need to know is object already in persistence context you should use `contains` method of `EntityManager`.
Only `EntityManager` can tell you is entity persisted or not, entity does not have such information.
Here you can check javadoc for `contains` method.
if (!em.contains(entity)) {
em.persist(entity);
} else {
em.merge(entity);
}
Problem
Is there a general method that can ``` if(entity is persisted before){ entity = entity.merge(); }else{ entity.persist(); } ``` So the method contain above logic is safe everywhere?