私は2つのテーブルピザとトッピングを持っています、
class pizza{
...
@ManyToMany(targetEntity = com.pizzastudyds.db.bean.Topping.class, fetch = FetchType.EAGER)
@JoinTable(name = "PIZZATOPPING", joinColumns = @JoinColumn(name = "PIZZAID"), inverseJoinColumns = @JoinColumn(name = "TOPPINGID"))
public Set<Topping> getToppings() {
return toppings;
}
...
}
class toppings{
@ManyToMany(mappedBy = "toppings", targetEntity = com.pizzastudyds.db.bean.Pizza.class)
public Set<Pizza> getPizzas() {
return pizzas;
}
}
この2つのクラスには、ピザのトッピングを定義するときに、多対多の関係があります。次に、ピザを削除してみますが、トッピングオブジェクトを削除するとき、およびトッピングとピザの間に関係があるかどうかを確認します。その後、トッピングを削除して、制約違反の例外を取得することができません。
関係に関係なく、ピザとトッピングの両方を別々に削除したい。結合テーブルを更新し、両側から削除したい。どうやってやるの?
実際に私が欲しいのは、ピザとトッピングを別々に削除することです。ピザを削除すると、ピザが削除されて結合テーブルが更新されます。トッピングを削除すると、結合テーブルの関係が更新されます。トッピングを削除すると、ピザが削除されたり、その逆になったりするわけではありません。