Ruhezustand: Wählen Sie Elemente aus, wo die Sammlung enthält alle angegebenen Werte

Ich brauche Hilfe bei einem kniffligen hibernate-query-problem. Ich habe die folgenden Entitäten:

public class Book {
   private String bookId;
   private String author;
   private String isbn;
   private Set<Tag> tags;
   //getters, setters etc.
}

und

public class Tag  {
   private String tagId;
   private String tagName;
  //getters, setters, etc.
}

Gibt es eine viele-zu-viele-Assoziation zwischen den beiden, die dargestellt wird durch eine join-Tabelle books_tags_mn mit den Spalten book_id und die tag_id.

Was ich gerne mache ist Folgendes: ich möchte ein hibernate-query/Kriterien Abfrage, liefert alle Buch haben alle von einem bestimmten Satz von tags. Was funktioniert ist, wählen Sie " alle Bücher, die alle einer Reihe von tags.

Ich ve wurde Herumspielen mit der criteria API, aber es war nicht wirklich zu verstehen. Also, was ich versuche zu tun (in pseudo HQL)

from Book book where book.tags containsAll(:tags)

Jede Hilfe auf diesem würde sehr geschätzt werden, so ich danke Ihnen sehr im Voraus.

Schreibe einen Kommentar