Hibernate 3.3 または 3.5 で Javassist の代わりに CGLib を使用するようにするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/2330373

  •  22-09-2019
  •  | 
  •  

質問

Hibernate 3.3 または 3.5 で Javassist の代わりに CGLib を使用するように強制することはまだ可能ですか?プロパティファイルで、次のように設定しました

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 - loaded properties from resource hibernate.properties: {hibernate.bytecode.use_reflection_optimizer=false, hibernate.bytecode.provider=cglib}
20 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : cglib

追伸:ご了承ください CGLIB サポートは非​​推奨になりました 最近 (これは CGLIB を使用できなくなるという意味ではありませんが、CGLIB との統合が維持されなくなったという意味です)。

他のヒント

うん、また置く

hibernate.properties 
いくつかのソースフォルダに

と依存関係にあるhibermate-CGLIB-再パックを持っていることを忘れないでください。

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-cglib-repack</artifactId>
    <version>2.1_3</version>
</dependency> 
CGLIBライブラリーは、約4年間のために開発されていないことに注意してください。あなたはまだ積極的に維持されているJavassistの、と協力してコードを作ることがすべてを行う必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top