JPA JPQL:选择具有List属性的实体

时间:2014-11-02 13:27:03

标签: jpa collections jpql

我有一个拥有标签集合的实体

@ManyToMany
private Set<Tag> listeTag;

我想编写一个查询,该查询返回我的实体列表,其中包含在参数中传递的所有标签,而不仅仅是这样的一个。

select distinct entity from Entity entity where and entity.listeTag  in :listeTag

如果listeTag中有两个标签我只想要至少包含两个标签的实体。

1 个答案:

答案 0 :(得分:0)

select e from SomeEntity e where :numberOfTagsInSet = 
    (select count(tag.id) from SomeEntity e2 
     join e2.listeTag tag 
     where e.id = e2.id 
     and tag.id in :setOfTagIds)

这应该可以解决问题。