Ich bin verwirrt. Emmanuel Bernard schrieb in ANN-418
das @Lob
sind standardmäßig faul (d.h. Sie müssen nicht einmal den @Basic(fetch = FetchType.LAZY)
verwenden Anmerkung).
Einige Benutzer berichten über das verzögerte Laden eines @Lob
funktioniert nicht mit allen Treibern/Datenbanken
.
Einige Benutzer berichten, dass es funktioniert, wenn Bytecode-Instrumentierung verwendet wird (javassit? cglib?).
Aber ich kann in der Dokumentation keinen eindeutigen Hinweis auf all dies finden.
Am Ende die empfohlene Problemumgehung ist die Verwendung einer "gefälschten" Eins-zu-Eins-Zuordnung anstelle von Eigenschaften. Entfernen Sie die LOB-Felder aus Ihrer vorhandenen Klasse, erstellen Sie neue Klassen, die auf dieselbe Tabelle, denselben Primärschlüssel und nur die erforderlichen LOB-Felder als Eigenschaften verweisen. Geben Sie die Zuordnungen als Eins-zu-eins, fetch="select", lazy="true" an. Solange sich Ihr übergeordnetes Objekt noch in Ihrer Sitzung befindet, sollten Sie genau das bekommen, was Sie wollen. (Transponieren Sie dies einfach in Anmerkungen).