Поиск элементов с набором, содержащим все элементы данного набора с помощью jpql

Я хочу найти предметы, которые содержатвсе заданные теги в их наборе тегов.

Вот упрощенные классы:

@Entity   
class Item {
  @ManyToMany
  var tags: java.util.Set[Tag] = new java.util.HashSet[Tag]()
}

@Entity
class Tag {
  @ManyToMany(mappedBy="tags")
  var items: java.util.Set[Item] = new java.util.HashSet[Item]
}

Если я попробую это так

select distinct i 
from Item i join i.tags t
where t in (:tags)

Я получаю предметы, которые содержатлюбой из указанных тегов. Это не удивительно, но я хочу предметы, которые содержатвсе из указанных тегов. Так что я пробую наоборот:

select distinct i 
from Item i join i.tags t
where (:tags) in t

Я получаю сообщение об ошибкеorg.hibernate.exception.SQLGrammarException: arguments of row IN must all be row expressions, Работает еслиtags содержит только один тег, но он терпит неудачу с чем-то большим.

Как я могу выразить это в JPQL?

Ответы на вопрос(2)

Ваш ответ на вопрос