Ich verwende Hibernate 3.6 und MSSQL 2012.
Beim Ausführen dieser HQL
%Vor%Ich bekomme dieses SQL
%Vor%* Beachten Sie die cross-Verknüpfung und die hinzugefügte Bedingung in der where-Klausel.
Laut Hibernate-Dokumentation Ссылка
Impliziter Join sollte zu innerer Join generiert werden.
Ich habe bemerkt, dass es einen offenen Fehler Ссылка gibt, der sich auf dieses Problem bezieht, aber niemand beantwortet und es ist schon seit einem Jahr geöffnet.
Ich würde mich über Informationen zu diesem Thema freuen. Danke.
PS. Ich bin mir bewusst, dass die Verwendung von impliziten Joins nicht der richtige Weg ist, HQL zu schreiben, aber ich kann momentan nichts dagegen tun.
Ihr Join ist ein innerer Join, verwendet aber die alte Syntax, die darin besteht, eine Bedingung in die where-Klausel einzufügen:
%Vor%anstatt es mit
zu tun %Vor%Das Ergebnis ist genau das gleiche.
Und implizite Joins in HQL sind überhaupt kein Problem, solange Sie verstehen, was sie tun.