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

Caricamento lento di primavera, ibernazione, BLOB

Non ho capito bene. Emmanuel Bernard ha scritto in ANN-418 quel @Lob sono pigri per impostazione predefinita (cioè non hai nemmeno bisogno di usare il @Basic(fetch = FetchType.LAZY) annotazione).

Alcuni utenti segnalano il caricamento lento di un @Lob non funziona con tutti i driver/database .

Alcuni utenti segnalano che funziona quando si utilizza la strumentazione bytecode (javassit? cglib?).

Ma non riesco a trovare alcun riferimento chiaro di tutto questo nella documentazione.

Alla fine, la soluzione alternativa consigliata consiste nell'usare un mapping uno-a-uno "falso" invece delle proprietà. Rimuovere i campi LOB dalla classe esistente, creare nuove classi facendo riferimento alla stessa tabella, alla stessa chiave primaria e solo ai campi LOB necessari come proprietà. Specificare le mappature come uno a uno, fetch="select", lazy="true". Finché il tuo oggetto padre è ancora nella tua sessione, dovresti ottenere esattamente ciò che desideri. (basta trasporre questo nelle annotazioni).