我有一个使用JPA持久保存的java对象。该对象有一个成员'friendsList',它是一个字符串列表。我在这个对象上使用了@CollectionOfElements hibernate注释。结果是我有两个表,一个持久保存我的对象,另一个持久保存每个对象的列表。
如何检索(使用jpa)列表中包含“hello”或“world”的所有对象?
答案 0 :(得分: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')