sql >> Database teknologi >  >> RDS >> Mysql

Spring, Hibernate, Blob doven loading

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).



  1. Sådan opretter du VARRAY'er som PL/SQL-blokmedlem i Oracle-databasen

  2. PL/SQL-program til at udskrive medarbejderoplysninger

  3. UNIX_TIMESTAMP() Eksempler – MySQL

  4. Hvordan ændres tabelstrukturen i Oracle?