Hibernate viele-zu-viele: Kriterien für die Suche, bis alle die Klasse A die Klasse B enthält
Ich habe 2 Klassen, die haben viele zu viele Beziehung. Ich nehme die 'Frage' und 'Tag' als ein Beispiel, um den Fall besser zu verstehen.
Für jede Frage, die Sie mehrere tags haben. Das gleiche wie für den tag.
Was ich möchte zu tun ist, um alle Fragen (und die entsprechenden tags), wenn die Frage enthalten, ein tag sagt "Ruhezustand".
Kann ich am meisten tun es mit einer SQLQuery in der viele-zu-viele-Tabelle und gibt eine Liste von der Frage-ID. Dann verwenden Sie ein Kriterium mit Einschränkungen.in und schnapp dir alle Fragen. Es ist aber zu ungeschickt und ich Wette, es gibt einen besseren Weg, es zu tun, ist es?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im wesentlichen, müssen Sie einen alias erstellen, und verwenden Sie die Aliasnamen für die Abfrage der Kind Kollektion wie so:
Ich nehme an, Sie haben tatsächlich nicht einer Klasse, stellt die "Brücke" - Tabelle auf die tags-Tabelle in diesem Szenario, sonst müssten Sie zu erstellen 2 Aliase zB:
Erfahren Sie mehr von den docs:
http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/querycriteria.html#querycriteria-associations