Ich habe ein Leistungsproblem in meinem Viele-zu-Eins-Mapping. Wenn ich die SQL-Abfrage in der Protokolldatei debugge, ist die Prinzipalabfrage in Ordnung, aber nachdem ich eine andere Abfrage habe, die eine Viele-zu-Eins-Objektabbildung darstellt.
Entity.hbm.xml:
%Vor%Objekt1.hbm.xml:
%Vor%Objekt2.hbm.xml:
%Vor%Abfrage HBM:
%Vor%in pom.xml
%Vor%Ihr Mapping scheint in Ordnung zu sein. Wie hier dokumentiert 5.1.1. Entität
Das Attribut <class>
faul ist standardmäßig wahr
Dasselbe gilt für <many-to-one>
: 5.1.7.1 . Verwenden eines Fremdschlüssels oder einer Zuordnungstabelle faules -Attribut:
lazy="no-proxy"
gibt an, dass die Eigenschaft langsam abgerufen werden soll, wenn auf die Instanzvariable zum ersten Mal zugegriffen wird. Dies erfordert Build-Time-Bytecode-Instrumentierung. lazy="false"
gibt an, dass die Verknüpfung immer schnell abgerufen wird. Also, wo ist das Problem?
Ich würde sagen, in Ihrem Debug-Fenster . Weil Sie einen Verweis auf Ihre Liste haben und Sie das Ergebnis sehen - in dem Moment, in dem es ausgeführt wird - wird die Referenz ebenfalls geladen. Faul - aber geladen. Das wollen wir eigentlich. Proxy - wenn zuerst tucked - zwingt die Last.
Versuchen Sie, es von der Uhr zu entfernen. Oder schließe die Session und setze sie dann in die Watch ... Du solltest sehen, dass die oben verwendete Abfrage - Referenzen nicht lädt ... nur wenn wirklich zugegriffen wird ... sogar über das Debug-Fenster