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

在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了。

 

你可能感兴趣的:(Hibernate,xml)