Jag är förvirrad. Emmanuel Bernard skrev i ANN-418
den där @Lob
är lata som standard (dvs. du behöver inte ens använda @Basic(fetch = FetchType.LAZY)
anteckning).
Vissa användare rapporterar att en @Lob
laddas långsamt fungerar inte med alla drivrutiner/databas
.
Vissa användare rapporterar att det fungerar när man använder bytekodinstrumentering (javassit? cglib?).
Men jag kan inte hitta någon tydlig hänvisning till allt detta i dokumentationen.
I slutet, den rekommenderade lösningen är att använda en "falsk" en-till-en-mappning istället för egenskaper. Ta bort LOB-fälten från din befintliga klass, skapa nya klasser som refererar till samma tabell, samma primärnyckel och endast de nödvändiga LOB-fälten som egenskaper. Ange mappningarna som en-till-en, fetch="select", lazy="true". Så länge ditt överordnade objekt fortfarande är i din session bör du få precis vad du vill ha. (transponera bara detta till kommentarer).