2011-08-05 58 views
0

我有两个持久化类。他们处于多对多的关系。一个类有一组另一个类的对象。 @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表中的任何枚举都不再有意义了。可以自动删除吗?

回答

1

当您删除A时,您应该先清除它的一组Bs。

当您删除B时,您应该从每个A的B集中移除它。如果您将关系设为双向,则此os当然更容易。