Jak zapytać o związek M: N z JPA2?

Mam obiekt (BlogPost), który zawiera kolekcję elementów M: N (Tagi).

Jak zapytać o obiekt (BlogPost), w którym przynajmniej jeden jego znacznik pasuje do elementu w zestawie znaczników (zdefiniowanych przez użytkownika) z JPA2 (Hibernate).

findBlogPostWithAtLeastOneMatchingTag(Collection<Tag> tags){ ???? }

Moim głównym problemem jest to, że muszę porównać dwie kolekcje tagów: - zbiór tagów BlogPost. - Kolekcja, której szukam

próbowałemSelect p from Post p where p.tags in(:tags) ale to nie działa, ponieważ moje wpisy mają więcej niż jeden tag.

Więc co mogę zrobić zamiast tego?

Obiekt My BlogPost wygląda tak. Ma kilka tagów.

@Entity
public class BlogPost{

    /** The tags. */
    @ManyToMany()
    @NotNull
    private Set<Tag> tags;

    @NotBlank
    private String content;

    ...
}

Rozwiązaniem nie może być JPQL, JPA-Criteria (nie Hibernate-Criteria) też byłoby w porządku.

questionAnswers(3)

yourAnswerToTheQuestion