Ich habe 2 Klassen, die viele zu viele Beziehungen haben. Ich nehme die "Frage" und "Tag" als Beispiel, um den Fall verständlicher zu machen.
Für jede Frage haben Sie mehrere Tags. Das selbe wie für tag.
Was ich tun möchte, ist, alle Fragen (und ihre entsprechenden Tags) zu bekommen, wenn die Frage ein Tag enthält, das "Hibernate" anzeigt.
Ich kann es höchstens mit einer SQLQuery in der Viele-zu-Viele-Tabelle machen und gebe eine Liste der Frage-ID zurück. Dann benutze ein Kriterium mit Einschränkungen und nimm alle Fragen. Aber es ist zu ungeschickt und ich wette, es gibt einen besseren Weg, es zu tun, oder?
Im Wesentlichen müssen Sie einen Alias erstellen und den Alias verwenden, um die untergeordnete Sammlung wie folgt abzufragen:
%Vor%Ich gehe davon aus, dass Sie in diesem Szenario keine Klasse haben, die die Tabelle "bridge" darstellt, andernfalls müssten Sie 2 Aliase erstellen, zB:
%Vor%Sie können mehr aus der Dokumentation erfahren:
Tags und Links hibernate