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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top