Wie zu zwingen, Hibernate 3.3 oder 3.5 CGLIB statt Javassist zu benutzen?
Frage
Ist es noch möglich zu zwingen, Hibernate 3.3 oder 3.5 CGLIB statt Javassist zu benutzen? In meinen Eigenschaften Datei, habe ich
hibernate.bytecode.provider = cglib
Aber dies scheint nicht, es zu tun. Irgendwelche Gedanken?
Lösung
Es scheint einige Leute meine Antwort nicht lesen richtig so dass ich anders formulieren werde: Ihre hibernate.properties
korrekt aussieht, wird die Eigenschaft gut definiert ist, sollte es funktionieren. Also, sorry für die Frage aber ist CGLIB auf dem Classpath?
Update: Just getestet und es funktioniert für mich. Hier ist die Ausgabe I bei der Initialisierung erhalten:
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: Beachten Sie, dass CGLIB Unterstützung vor kurzem veraltet wurde (das bedeutet nicht, dass Sie gewonnen‘ t in der Lage sein CGLIB zu verwenden, aber die Integration nicht mehr gepflegt).
Andere Tipps
Ja, auch setzen
hibernate.properties
in einigen Quellordner und erinnere mich an die hibermate-cglib-repack in Abhängigkeiten haben:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-cglib-repack</artifactId>
<version>2.1_3</version>
</dependency>
Beachten Sie, dass CGLIB Bibliothek nicht für ca. 4 Jahren entwickelt wird. Sie sollten jedoch alles tun, um Ihren Code zu machen mit Javassist arbeiten, die noch aktiv gehalten wird.