Hibernate FetchMode Mitglied werden
-
22-09-2019 - |
Frage
habe ich eine Elternteil-Klasse mit einer Liste der Kinder. Ich möchte die Eltern durch etwas anderes als die ID zum Beispiel laden namentlich ... Ich verwende criteria.setFetchMode("children",FetchMode.JOIN);
und criteria.add(Restrictions.eq("name", name))
eifrig alle die Daten für die Eltern mit einem eindeutigen Namen zu laden. Das Problem ist, ich wieder Tausende von Ergebnissen, alle mit dem gleichen Namen bekommen ... Wie komme ich um diesen.
Lösung
Versuchen criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.
Dies gilt eine Transformation nach dem Ausführen der Abfrage der die Zeilen für die gleiche Wurzel verbindet, die üblicherweise auf einem äußeren Ruhe mit Verknüpfungskriterien gewünscht wird.