天天看點

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

繼續閱讀