私たちが知っているように、Hibernateには2つの永続コンテキスト、つまりorg.hibernate.Sessionとjavax.persistent.EntityManager
がありますが、SessionにあるメソッドのいくつかはEntityManager
にはありません。たとえば
session.delete(entity); セッションにはありますが
、EntityManagerには削除がありません
。entityManager.remove(entity);を使用する必要があります。したがって、データベース内のエンティティを永続化するために使用するコンテキストと、2つの間で高速なコンテキスト。
私が知っている違いは
、org.hibernate.Sessionのdeleteメソッドに渡されるエンティティインスタンスはマネージド状態またはデタッチ状態のいずれかですが、javax.persistence.EntityManagerでremoveに渡されるエンティティインスタンスはマネージド状態である必要があります。