论坛首页 Java企业应用论坛

在Hibernate3.3应用中把默认使用的javassist更换为cglib

浏览 3834 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-10-29  

在Hibernate3.3版本中,使用的字节码增强包默认是javassist了。而在3.2.6中默认使用的是cglib。要在3.3中更换为cglib,需要进行如下操作:

 1. 在classpath下,添加hibernate.properties文件,并添加如下一行

hibernate.bytecode.provider=cglib

这行属性配置就是指定字节码生成包使用cglib。注意:

 1) 一定要写成key=value形式,我按照Hibernate下载包中提供properties样板文件写成了hibernate.bytecode.provider cglib,死活不行。

 2) 不能通过在hibernate.cfg.xml文件中配置:<property name="hibernate.bytecode.provider">cglib</property>来更换,一定要在hibernate.properties中配置才起效。

2. 添加cglib.jar到classpath中。Hibernate下载包中提供了cglib2.2.jar,但还需要添加cglib包依赖的asm3.1包。所以,干脆上cglib官网下载cglib-nodep-2.2.jar

完成以上两个步骤后,就把字节码生成包更换为cglib了。

   发表时间:2009-10-30  
是否愿意到hibernate 的jira中录一个缺陷呢,这样以后hibernate修复了就不用这么麻烦了,谢谢

http://opensource.atlassian.com/projects/hibernate/secure/Dashboard.jspa
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics