如何强制Hibernate 3.3或3.5使用CGLib而不是Javassist?

是否仍然可以强制Hibernate 3.3或3.5使用CGLib而不是Javassist? 在我的属性文件中,我设置了

hibernate.bytecode.provider = cglib 

但这似乎并没有这样做。 有什么想法吗?

似乎有些人没有正确阅读我的答案,所以我会改写:你的hibernate.properties看起来是正确的,属性定义良好,它应该工作。 所以,对不起这个问题,但是CGlib在类路径上?

更新:刚刚测试过,它对我有用。 这是我在初始化时获得的输出:

 15 [main] INFO org.hibernate.cfg.Environment  -  Hibernate 3.3.0.SP1
 18 [main] INFO org.hibernate.cfg.Environment  - 来自资源hibernate.properties的加载属性:{hibernate.bytecode.use_reflection_optimizer = false,hibernate.bytecode.provider = cglib}
 20 [main] INFO org.hibernate.cfg.Environment  - 字节码提供者名称:cglib

PS:请注意, CGLIB支持最近已被弃用 (这并不意味着您将无法使用CGLIB,但不再保留它的集成)。

是的,也放了

 hibernate.properties 

进入一些源文件夹并记得在依赖项中使用hibermate-cglib-repack:

  org.hibernate hibernate-cglib-repack 2.1_3  

请记住,CGLIB库的开发时间大约为4年。 但是,您应该尽一切努力使您的代码与Javassist一起使用,而Javassist仍在积极维护。