Domanda

E 'ancora possibile forzare Hibernate 3.3 o 3.5 di utilizzare CGLIB invece di Javassist? Nel file delle mie proprietà, ho impostato

hibernate.bytecode.provider = cglib

Ma questo non sembra farlo. Ogni pensiero?

È stato utile?

Soluzione

Sembra che alcune persone non hanno letto la mia risposta corretta quindi mi riformulare: il tuo hibernate.properties sembra corretto, la proprietà è ben definito, dovrebbe funzionare. Quindi, mi dispiace per la domanda, ma è CGLIB sul classpath?

Aggiornamento: appena provato e funziona per me. Ecco l'uscita ottengo in fase di inizializzazione:

15 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.0.SP1
18 [main] INFO org.hibernate.cfg.Environment - loaded properties from resource hibernate.properties: {hibernate.bytecode.use_reflection_optimizer=false, hibernate.bytecode.provider=cglib}
20 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : cglib

PS: Si noti che il supporto CGLIB è stato deprecato recente (questo non significa che hai vinto' t essere in grado di utilizzare CGLIB ma l'integrazione non più mantenuto).

Altri suggerimenti

Si, anche mettere

hibernate.properties 

in qualche cartella di origine e ricordarsi di avere il hibermate-cglib-repack in dipendenze:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-cglib-repack</artifactId>
    <version>2.1_3</version>
</dependency> 

Ricordate che libreria CGLIB non si sviluppa per circa 4 anni. Si dovrebbe fare di tutto però per rendere il codice a lavorare con Javassist, che è ancora mantenuto attivamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top