sql >> データベース >  >> RDS >> Oracle

setterの呼び出し中にHibernate例外IllegalArgumentExceptionが発生した原因を解決するにはどうすればよいですか?

    この例外はHibernateのバグが原因であることが判明しました。チームメイトの1人が、関連するバグレポートを見つけました。クラスター化されたJBoss Cacheからのエンティティの再アセンブルは、「引数タイプの不一致」で失敗する可能性があります 、HibernateとJBossCacheを使用しているときに発生します。

    レポートによると、Hibernateプロパティhibernate.cache.use_structured_entriesを設定します true 例外を回避します。 Hibernateのドキュメントによると、このプロパティは「Hibernateにデータをより人間にわかりやすい形式で第2レベルのキャッシュに保存するように強制します」。明らかに、構造化されたキャッシュエントリは、Hibernateが第2レベルのキャッシュ内のオブジェクトのプロパティをエンティティ内の対応するプロパティに正しくマップすることも保証します。

    Javalobbyには、Hibernateが第2レベルのキャッシュをどのように使用するかを説明する興味深い記事があります。

    3.3.2GA以降のバージョンのHibernateもこの動作を示しますか?



    1. Windows Azure VMのパフォーマンスの比較、パート2

    2. PostgreSQLの機能を拡張する10の方法

    3. ストアドプロシージャからパラメータを取得しますか?

    4. COUNT(*)でフィルタリングしますか?