在JPA / JQL中,我输入Set<Tag>
,我想查找与输入集(:tags
)中至少一个标记关联的实体。
Tagged
实体有一个属性标记
@ManyToMany
private Set<Tag> tags;
查询应该如何?我试过了
SELECT t FROM Tagged t WHERE t.tags = ANY(:tags)
但这不正确。有谁知道正确的查询应该如何?
示例:如果标记实体包含标记("one", "two", "tree")
且我的:tags
输入参数是一组标记("three", "four")
,我希望匹配,因为{{ 1}}是共同的。
答案 0 :(得分:1)
我不相信ANY(subquery)
正是您所寻找的。我会改用inner join。像这样:
SELECT DISTINCT t FROM Tagged t JOIN t.tags tag WHERE tag IN :tags