6

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

hibernate.bytecode.provider = cglib

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

4

3 回答 3

7

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

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

15 [主要] 信息 org.hibernate.cfg.Environment - 休眠 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,而是不再维护它的集成)。

于 2010-02-24T23:15:06.963 回答
1

是的,也放

hibernate.properties 

进入某个源文件夹并记住在依赖项中有 hibermate-cglib-repack:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-cglib-repack</artifactId>
    <version>2.1_3</version>
</dependency> 
于 2010-02-28T08:12:19.537 回答
1

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

于 2010-12-09T13:16:40.987 回答