2

JPAを使用して永続化したJavaオブジェクトがあります。このオブジェクトには、文字列のリストであるメンバー「friendsList」があります。このオブジェクトで @CollectionOfElements hibernate アノテーションを使用しました。この結果、オブジェクトを永続化するテーブルと、これらの各オブジェクトのリストを永続化するテーブルの 2 つのテーブルができました。

リストに 'hello' または 'world' が含まれるすべてのオブジェクトを (jpa を使用して) 取得するにはどうすればよいですか?

4

1 に答える 1

0

Parent_names以下は正常に機能しています。関係を維持するためのテーブルも作成されます。@OneToManyで注釈を付けないでください

@ElementCollection(targetClass = String.class)
    private List<String> names;

または、回避策を試すことができると思います。クラス内で文字列をラップします。

class FriendsName{
private String name;
//getter setter
}

それで、

class Parent{
@OneToMany
List<FriendsName> friendsName;
}

そして、次のようにJPQLを実行できます。

select p from Parent p where p.friendsName.name in ('hello','world')
于 2013-01-31T08:19:09.787 に答える