JPA: check whether an entity object has been persisted or not
问题 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? 回答1: 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