2013-05-25 42 views
0

在JPA/JQL中,我以输入Set<Tag>为例,我想找到与我的输入集(:tags)中的至少一个标记关联的实体。匹配与集合中的任何元素具有ManyToMany关系的实体

Tagged实体有一个属性标签

@ManyToMany 
private Set<Tag> tags; 

查询应该怎么样子的呢?我试过

SELECT t FROM Tagged t WHERE t.tags = ANY(:tags)

但它是不正确的。有谁知道正确的查询应该如何?

:如果一个标记实体具有标签("one", "two", "tree")和我:tags输入参数是一组标签("three", "four")的,我期待的比赛,因为"three"是常见的。

回答

1

我不相信ANY(subquery)是你在找什么。我会用inner join代替。类似这样的:

SELECT DISTINCT t FROM Tagged t JOIN t.tags tag WHERE tag IN :tags 
相关问题