我有两个持久的类。他们处于多对多的关系中。一个类具有另一个类的一组对象。
@Entity class A {
@Id @Generated int id;
@ManyToMany(cascade = CascadeType.ALL)
Set<B> myset = new HashSet<B>();
}
和
@Entity class B {
@Id @Generated int id;
}
Hibernate创建表:A_B,列为A_id和B_id。如果我删除一些A或B对象,A_B表中的任何entrie都不再有意义。可以自动删除吗?
答案 0 :(得分:1)
删除A时,应先清除其B组。
当你删除B时,你应该从每个A的B组中删除它。如果你把关系设为双向的话,这个操作系统当然会更容易。