休止状態の基準を使用してDAO内でクエリを作成する必要がありますが、方法がわかりません。
A と B の 2 つのエンティティと、A と B の両方の ID を含む関連付けテーブルがあります。AはBを知りませんし、BはAを知りません。
基準を使用して、特定の B に関連付けられているすべての A を検索したいと考えています。
図を作成しました。説明に役立つことを願っています。
ご覧のとおり、テーブル A には 3 つのレコードがあり、テーブル B にも 3 つのレコードがあり、テーブル AssocAB にも 3 つのレコードがあります。AssocAB で B1 に関連付けられているすべての A を検索したいと考えています。クエリは A1 と A3 を返す必要があります。
出来ますか?
ここにクラスと、注釈が付けられた関係があります。
エンティティ A: 注釈なし
エンティティ B: エンティティ A のセットを持つ
@ManyToMany
@JoinTable(name = "Assoc_AB", joinColumns = { @JoinColumn(name = "ID_B")}, inverseJoinColumn = { @JoinColumn(name = "ID_A")})
@ForeignKey(name = "FK_A_B", inverseName = "FK_B_A")
public set<A> getA(){
return this.listOfA;
}
また、関連クラスのクラスはありません。B のマッピングにより、関連テーブルが作成されます。
前もって感謝します。