EntityManagerのremove(Object entity)メソッドは、 find()メソッドから取得したオブジェクトでのみ機能しますか?
次のコードスニペットがあります。
public void deletePerson() {
EntityManager em = getEntityManager();
Person p = new Person("x", "y", 200);
em.remove(p);
}
ただし、データベースから特定のエントリを削除するわけではありません。
私が以下のようなことを試みたとき:
public void deletePerson() {
EntityManager em = getEntityManager();
Person p = em.find(Person.class, 200);
em.remove(p);
}
正常に動作しています。