永続転送(CASCADE)、孤立オブジェクト
永続的な移行(CASCADE)
@OneToMany(mappedBy="parent", cascade=CascadeType.ALL)
private List<Child> children = new ArrayList<>();
public void addChild(Child child){
children.add(child);
child.setParent(this);
}
try {
Child child1 = new Child();
Child child2 = new Child();
Parent parent = new Parent();
parent.addChild(child1);
parent.addChild(child2);
em.persist(parent);
tx.commit();
} catch (Exception e) {
tx.rollback();
} finally {
em.close();
}
親エンティティを永続化する場合、cascade=CascadeTypeとなります.ALLのため、サブエンティティも一緒に永続化されます.CASCADEの注意事項
CASCADEタイプ
孤立オブジェクト
Parent parent1 = em.find(Parent.class, id);
parent1.getChildren().remove(0); // 자식 엔티티를 컬렉션에서 제거
実行する場合、DELETE FROM CHILD WHERE ID="child 1"孤児主義.
参考
あ、オブジェクトの削除機能を有効にすると、親の削除時に子も
取り除かれる.これはCascadeTypeですREMOVE, CascadeType.動作はALLのようです.
両方のオプションがアクティブな場合、子のライフは親エンティティを通過します.
管理可能ライフサイクル
整理する
CASCADE、孤立オブジェクト親エンティティによる子エンティティのライフサイクル管理
個々の所有者(特定のエンティティがプライベート)のみで使用する必要があります.
Reference
この問題について(永続転送(CASCADE)、孤立オブジェクト), 我々は、より多くの情報をここで見つけました
https://velog.io/@yangtaeyoung93/영속성-전이CASCADE-고아객체
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(永続転送(CASCADE)、孤立オブジェクト), 我々は、より多くの情報をここで見つけました https://velog.io/@yangtaeyoung93/영속성-전이CASCADE-고아객체テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol