jpa cascade について読んだことがありますが、まだ質問があります。
ParentBiz.java
...
@OneToMany(cascade = {CascadeType.ALL}, mappedBy = "parent", fetch = FetchType.LAZY, targetEntity = ChildrenBiz.class)
private List<Child> children;
...
Child.java
...
@ManyToOne(targetEntity = ParentBiz.class, fetch = FetchType.LAZY)
@JoinColumn(name = "ID_PARENT", nullable = false)
@ForeignKey(name = "FKMAW53A")
private Parent parent;
...
シンプルですね。親(およびその子、カスケード)を挿入するテストを作成しましたが、問題なく動作します。次に、親に子を追加して親をマージすると、問題なく動作します。しかし、子を削除して親をマージすると、カスケードしません。
私の知る限り、親をマージするたびにすべての子を削除して再度挿入する必要がありますが、それは起こっていません。私は本当に無知です、なぜならそれは簡単に思えるからです...