在这种情况下,您可以使用merge()
代替persist()
:
foo = entityManager.merge(foo);
当应用于新实例时,merge()
使其变为持久性(实际上-返回具有相同状态的持久性实例),并合并级联引用,就像您尝试手动执行的那样。
JPA级联仍然存在,对分离实体的引用将引发PersistentObjectException。为什么?
在这种情况下,您可以使用merge()
代替persist()
:
foo = entityManager.merge(foo);
当应用于新实例时,merge()
使其变为持久性(实际上-返回具有相同状态的持久性实例),并合并级联引用,就像您尝试手动执行的那样。