Comment forcer Hibernate 3.3 ou 3.5 à cglib au lieu de Javassist?
Question
Est-il encore possible de forcer Hibernate 3.3 ou 3.5 à cglib au lieu de Javassist? Dans mes fichier de propriétés, je mets
hibernate.bytecode.provider = cglib
Mais cela ne semble pas le faire. Toute pensée?
La solution
Il semble que certaines personnes n'ont pas lu ma réponse correctement donc je vais reformuler ma question: votre hibernate.properties
semble correct, la propriété est bien défini, il devrait fonctionner. Donc, désolé pour la question, mais est Cglib sur le chemin de classe?
Mise à jour: Juste testé et cela fonctionne pour moi. Voici le résultat que je reçois au moment de l'initialisation:
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: Notez que soutien CGLIB a été désapprouvée récemment (cela ne signifie pas que vous avez gagné » t être en mesure d'utiliser CGLIB mais l'intégration, il ne se maintient pas plus).
Autres conseils
Oui, aussi mettre
hibernate.properties
dans certains dossier source et souvenez-vous d'avoir la hibermate-cglib-repack dans les dépendances:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-cglib-repack</artifactId>
<version>2.1_3</version>
</dependency>
Rappelez-vous que la bibliothèque CGLIB ne se développe pas pendant environ 4 ans. Vous devez tout faire cependant pour que votre code de travail avec Javassist, qui est toujours activement maintenue.