У меня есть отношение многие ко многим между тегами и сообщениями. Мне нужно написать запрос jpa, чтобы найти все сообщения по списку тегов. Я могу сделать это как: findDistinctByTagsIn (список тегов), и это работает, но мне нужен пользовательский запрос. Я пытался
@Query("SELECT DISTINCT p FROM Post p WHERE p.tags IN :tags")
но выдает ошибку:
select distinct post0_.id as id1_0_, post0_.content as content2_0_, post0_.name as name3_0_, post0_.user_id as user_id4_0_ from posts post0_ cross join posts_tags tags1_, tags tag2_ where post0_.id=tags1_.posts_id and tags1_.tags_id=tag2_.id and (. in (? , ?))
поле в почтовом объекте:
@ManyToMany(cascade = {CascadeType.MERGE, CascadeType.PERSIST})
private List<Tag> tags = new ArrayList<>();
поле в теге сущности:
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, mappedBy = "tags")
private List<Post> posts = new ArrayList<>();
Кто-то имеет представление, что не так? Я пытался с join, но все еще не могу понять, как это сделать