次のように、2つのエンティティ「menu_groups」と「pages」の間に多対多の関係があります
public class MenuGroup {
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.MERGE)
@JoinTable(name = "menu_group_pages",schema="live",
joinColumns=@JoinColumn(name="menu_groups_id"),
inverseJoinColumns=@JoinColumn(name="pages_id"))
private Set<Page> pages = new HashSet<Page>();
}
public class Page {
@ManyToMany(fetch = FetchType.EAGER, mappedBy="pages",
cascade={CascadeType.MERGE})
private Set<MenuGroup> menuGroups = new HashSet<MenuGroup>();
}
ご覧のとおり、menu_groups_id と pages_id の 2 つの fk を持つ結合テーブルがあります。ここで、この結合テーブルの fk 'pages_id' に削除カスケード アクションを追加します。通常のテーブルの場合、ステートメントは次のようになります
@OnDelete(action=OnDeleteAction.CASCADE)
結合テーブルに対してこれを行うにはどうすればよいですか? ありがとう