Dupliziert mit linkem Join-Fetch

9

Ich verwende eine HQL-Abfrage, um bestimmte Datensätze zu erhalten. Wenn ich LEFT JOIN FETCH verwende, enthält eine Sammlung, die sich in meiner Zieleinheit befindet, doppelte Datensätze. Wenn ich nur linken Join verwende, wird es nicht. Ich denke, wenn Hibernate die Datensätze träge lädt, vermeidet es Duplikate.

%Vor%

Meine Entität TableA hat eine Verbindung zu TablePV (LINKER JOIN FETCH z.attributeX pv)

TablePV hat eine Sammlung von TableY ("LINKER JOIN FETCH pv.attributeY anteil")

Jetzt wird Hibernate alles korrekt abbilden, mit Ausnahme der Kinder von TablePV. Es enthält mehrmals den gleichen Datensatz. Eine Deaktivierung von TableA hilft nicht, da es dort keine Duplikate gibt. Ich könnte diese Datensätze manuell entfernen, die ziemlich inperformant sind, denke ich.

    
Daniel 15.03.2012, 13:14
quelle

1 Antwort

-1

Verwenden Sie in Ihrer Abfrage DISTINCT , etwa SELECT DISTINCT z FROM Entity z...

    
quelle

Tags und Links