残念ながら、JPA1.0とJavaEE 5(SAP実装)の使用は行き詰まっています。重要な場合は、OracleDBを使用しています。
基本的にファイルタイプオブジェクトのデータベース記述であり、名前、ファイルタイプ、およびbyte [](blob)アイテムを保持するエンティティクラスがあります。
テーブルでルックアップを呼び出すときに、毎回blobオブジェクトを熱心にロードして、Webサービスを介して返す必要はありませんが、ファイル名とタイプフィールドをロードする必要があります。
今、私たちはいくつかのことを試みました:-
まず、を試しました@Basic(fetch= FetchType.LAZY)
。これはとにかく何もしないようです。(おそらくこれは強制されたJPAプロトコルではありません)
次に、別のテーブルのバイトデータと1対1の関係を作成し、それをレイジーフェッチタイプとして設定してみました。これを行うとき、これはWebサービスで例外が発生するときです。これは、このアイテムのJaxWSプロキシオブジェクトがほとんど空であるためです。
第3に、「ファイル」テーブル全体を熱心にロードしようとしましたが、データベースクエリの後でbyte[]データを空白にしました。これはWebサービスを介して大きなバイトデータを返しませんが、バイトデータがデータからプログラム「コンテキスト」に取得されるため、理想的ではありません。
では、プロキシオブジェクトが空の場合に、特定のフィールドを無視するようにJax WSに指示する方法はありますか?このためのドキュメントで何も見つからなかったようですか?