Я пытаюсь воспроизвести этот запрос в Criteria API. В моих отображениях у меня есть много ко многим между Tag и Product, но это появляется только в моем классе Tag, т.е. класс Product не знает тегов. В основном я хочу найти все продукты, которые имеют весь список тегов. Вот sql, который я произвел, хотя, возможно, его можно улучшить.
SELECT Product.* FROM Product
WHERE Product.ProductID IN (
SELECT ProductID FROM ProductTagMap
INNER JOIN Tag ON ProductTagMap.TagId = Tag.TagId
WHERE Tag.UrlName = 'sticks')
AND Product.ProductID IN (
SELECT ProductId FROM ProductTagMap
INNER JOIN Tag ON ProductTagMap.TagId = Tag.TagId
WHERE Tag.UrlName = 'vic-firth')
Любые идеи, высоко ценится