有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将具有多个关系的实体与集合中的任何元素进行匹配

在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"),我希望匹配,因为"three"是公共的


共 (1) 个答案

  1. # 1 楼答案

    我不相信ANY(subquery)是你想要的。我会用inner join来代替。比如:

    SELECT DISTINCT t FROM Tagged t JOIN t.tags tag WHERE tag IN :tags