1

JSON-Struts2 プラグインでオブジェクトをシリアライズしようとすると、JPA で大きな問題が発生します。

次の例外があります。

例外の説明: null セッションを持つインダイレクションを使用してリレーションシップをトラバースしようとしました。これは、インスタンス化されていない LAZY 関係を持つエンティティがシリアル化され、シリアル化後にその遅延関係がトラバースされる場合によく発生します。この問題を回避するには、シリアル化の前に LAZY 関係をインスタンス化します。

これは、いくつかのパラメーターがリストであり、これらのリストに他のリストを持つオブジェクトがあるために発生します..

オブジェクトファサードを変更せずにすべてのリストを初期化する方法はありますか?...または別のオプション..JSONでいくつかのパラメータのみをシリアル化します

4

3 に答える 3

2

Hibernate.isInitializedおよびHibernate.initializeを使用して、初期化が行われたかどうかを確認するか、強制的に初期化することができます。

于 2012-10-13T19:23:17.680 に答える
2

struts-json-plugin でパラメータを除外できます。http://struts.apache.org/2.x/docs/json-plugin.html#JSONPlugin-Exclusivepropertiesを参照してください。

ところで、Hibernate#initialize メソッドを使用する場合:

注: これは、プロキシ オブジェクトまたはコレクションの初期化のみを保証します。コレクション内の要素が初期化/実体化されることは保証されていません。

于 2012-10-13T20:44:29.060 に答える
0

オブジェクト全体の代わりに文字列リストを使用して解決

于 2012-10-22T23:55:46.443 に答える