Hibernate を使用してデータベースからエンティティのリストをロードするためにリモート サービス (RMI 経由など) を呼び出す場合、クライアントが必要とするすべてのフィールドと参照を初期化するには、どのように管理すればよいでしょうか?
例: クライアントがリモート メソッドを呼び出して、すべての顧客を読み込みます。クライアントは、顧客ごとに、顧客の購入商品リストへの参照を初期化する必要があります。
次の解決策を想像できます。
必要なフィールド (Hibernate.initialize() など) を初期化し、ドメイン オブジェクトをクライアントに返す、特別なクエリごとにリモート メソッドを記述します。
1. と同様ですが、DTO を作成します
クエリを複数のクエリに分割します。たとえば、1 つは顧客用、もう 1 つは顧客の記事用であり、クライアントが結果を管理できるようにします。
リモート メソッドは、クライアントによって作成され、サーバーによって実行される DetachedCriteria を取ります。
カスタムの「Preload-Pattern」を開発します。つまり、クライアントがプリロードするプロパティを明示的に指定する方法です。