0
我有2个表比萨和浇头,休眠/ JPA许多一对多
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类有多对多关系的船,当我定义的比萨配料。然后尝试删除我能够做到的比萨饼,但是当我删除顶部对象时,以及如果在顶部和披萨之间存在关系。那么我无法删除顶部并获得约束视角的例外。
我想删除两个披萨&单独的顶部,无论关系如何;我想更新连接表以及从双方删除。我怎样才能做到这一点?
其实我想要的是删除披萨和顶部分开即,就像我删除披萨一样,它会被删除并更新连接表,当我删除它的顶部删除更新连接表中的关系。我不是说,如果我删除打顶,比萨饼就会被删除,或者是恶棍。
在删除顶部之前,您需要手动移除所有顶部比萨饼。 – 2012-04-12 20:09:32
可能的重复[如何自动删除连接表中的行,以避免ConstraintViolationException?](http://stackoverflow.com/questions/3719814/how-do-i-delete-a-row-in- a-join-table-automatically-to-avoid-a-constraintviolat) – 2012-04-12 20:11:04
谢谢,我得到了你的意见 – 2012-04-12 22:21:53