Jeg er forvirret. Emmanuel Bernard skrev i ANN-418
at @Lob
er dovne som standard (dvs. du behøver ikke engang at bruge @Basic(fetch = FetchType.LAZY)
anmærkning).
Nogle brugere rapporterer den dovne indlæsning af en @Lob
virker ikke med alle drivere/database
.
Nogle brugere rapporterer, at det virker, når de bruger bytekodeinstrumentering (javassit? cglib?).
Men jeg kan ikke finde nogen klar reference til alt dette i dokumentationen.
Til sidst er den anbefalede løsning er at bruge en "falske" en-til-en-tilknytning i stedet for egenskaber. Fjern LOB-felterne fra din eksisterende klasse, opret nye klasser med henvisning til den samme tabel, samme primærnøgle og kun de nødvendige LOB-felter som egenskaber. Angiv tilknytningerne som en-til-en, fetch="select", lazy="true". Så længe dit overordnede objekt stadig er i din session, bør du få præcis, hvad du ønsker. (bare omsætte dette til annoteringer).