Как запросить отношение M: N с JPA2?
У меня есть объект (BlogPost), который содержит коллекцию элементов M (N) (теги).
Как запросить объект (BlogPost), в котором хотя бы один из его тегов соответствует элементу из набора тегов (определенных пользователем) с JPA2 (Hibernate).
findBlogPostWithAtLeastOneMatchingTag(Collection<Tag> tags){ ???? }
Моя главная проблема в том, что мне нужно сравнить две коллекции тегов: - коллекция тегов BlogPost. - коллекция, которую я ищу
Я старалсяSelect p from Post p where p.tags in(:tags)
но это не работает, так как мои почтовые сущности имеют более одного тега.
Так что я мог сделать вместо этого?
Моя сущность BlogPost выглядит следующим образом. У него есть несколько тегов.
@Entity
public class BlogPost{
/** The tags. */
@ManyToMany()
@NotNull
private Set<Tag> tags;
@NotBlank
private String content;
...
}
Решение не должно быть JPQL, JPA-Criteria (не Hibernate-Criteria) тоже подойдет.