@ Английский не мой родной язык.
У меня есть код (он работает):
@Query("select new java.entity.dto.ProductsDTO(" +
"p," +
"count(c)," +
"sum(case when c.user = :user then 1 else 0 end) > 0," +
"sum(case when cart.user = :user then 1 else 0 end) > 0," +
"sum(case when wish.user = :user then 1 else 0 end) > 0) " +
"from Products p " +
"left join p.commentaries c " +
"left join p.carts cart " +
"left join p.wishLists wish " +
"left join p.tags tags " +
"where p.categories = :categories " +
"and tags.id in :tags " +
"group by p,:user")
Page<ProductsDTO> findAllByCategoriesAndTags(Pageable pageable, @Param("categories") Categories categories, @Param("user") User user, @Param("tags") List<Long> tags);
Когда я читаю эту часть, "tags.id =: tags" работает так:
"id = tag1 или id = tag2 или id = tag3 ...".
Итак, как я могу написать что-то вроде этого: "id1 = tag1 или id1 = tag2 и id2 = tag1 или id2 = tag2"