自己双方向関係に問題があり、カスケード削除が機能しません。em.remove (家族) のようなものを試しても、基本的に多くのレベルを持つ家系図をまとめることである次のエンティティがあります。その子をキャッチし、その例外「整合性制約違反 - 子レコードが見つかりました」をキャッチします
public class Family{
@Id
public Long id;
public String name;
@ManyToOne
@JoinColumn(name = "id_father")
public Family father;
@OneToMany(cascade = CascadeType.REMOVE, orphanRemoval = true)
@JoinColumn(name = "id_father")
public List<Family> children;
//getters setters
//hashcode equals
}
テーブル
ID
名前
id_father