2011-08-05 16 views
0

私は2つの永続クラスを持っています。彼らは多対多の関係にあります。 1つのクラスには、別のクラスのオブジェクトのセットがあります。列A_IDとB_IDでA_B: @Entity class A { @Id @Generated int id; @ManyToMany(cascade = CascadeType.ALL) Set<B> myset = new HashSet<B>(); }Hibernate:結合表からの孤児の削除

@Entity class B { @Id @Generated int id; }

Hibernateはテーブルを作ります。私はいくつかのAまたはBオブジェクトを削除する場合、A_Bテーブルの任意のエントリーはもはや意味がありません。自動的に削除できますか?

答えて

1

Aを削除するときは、そのBのセットを削除する必要があります。

Bを削除すると、AのすべてのBのセットから削除する必要があります。これは、双方向の関係を作成すると容易になります。

関連する問題