0

一致する 2 つのコレクション エンティティを含むエンティティを取得したいと考えています。

public class A {
    long id;
    Set<B> bs;
}

public class B {
    String name;
    String value;
}

次のテーブルデータがある場合

Table A
ID     Name 
1      pluto
2      earth
3      mars

Table B
ID     A_ID     NAME     VALUE
1       1       abc       123
2       1       xyz       789
3       2       abc       456
4       2       xyz       789
5       3       abc       123

name='abc' で value='123' の B が少なくとも 1 つ、name='xyz' で value='789' の B が 1 つあるすべての「A」を取得したいと考えています。この例では、「地球」には「abc」の正しい値がなく、火星には「xyz」がないため、「冥王星」という名前の A のみが必要です。

これを行うには、副選択を使用する必要がありますか?

4

1 に答える 1

0

おそらく、A と B の間で 1 対多の関連付けを使用したいと思うでしょう...

http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/associations.html#assoc-unidirectional-12m

...その後、その関連付けを照会する多くの例を見つけることができます。たとえば...

HQL と 1 対多のクエリ

于 2013-01-22T23:59:14.770 に答える