私はデータベースから取得したオブジェクトを返す非常に単純なWebサービスを持っています。エンティティを取得するためにspring-data-jpaリポジトリを使用しています。その後、変更を加えずにオブジェクトを返します。シリアル化のための非プロキシJPAエンティティ
私はエンティティ内にいくつかの遅延ロードされた関係を持ち、それらを "unfetched"のままにします。ただし、Webサービスがレスポンスオブジェクトをマーシャリングすると、レイジーフェッチがトリガされ、データベースへの追加呼び出しが行われます。
私は、Hibernateのコントロールからオブジェクトを動的に分離/削除/解除解除することができる必要があるため、データを遅延的に取得する必要があります。
私はfollowing methodを使用してオブジェクトのプロキシ解除を試みましたが、不運にはなりませんでした(私のエンティティはHibernateProxyオブジェクトではありません)。
データ呼び出しをトリガーせずにオブジェクトを自由に操作/シリアル化できるように、エンティティの「非ORM化」に最適なアプローチは何ですか?
ORMが休止状態であれば、私はプロキシが 'HibernateProxy'になると思います。あなたが見ているプロキシのタイプは何ですか?私は 'AbstractPersistentCollection'に型キャストしようとしましたが、' forceInitialization() 'メソッドを呼び出そうとしませんでしたか? –
なぜトランザクション境界がどこにあるのか、クラスは何かを示すいくつかのコードを提示しないでください。特定のフィールドをロードせずにオブジェクトを「デタッチ」することは可能です。他のJPAの実装ではこれを確実に処理できるため、 –