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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top