生成されたプロキシ クラス オブジェクト (CGLib 拡張 POJO) がどのようにリモート クライアントに転送され、Lazy Init を生成する機能を保持しているのかがわかりません。例外。
それは、ある種のクラス (プロキシ) のすべての転送されたオブジェクトが再びプロキシとして再インスタンス化されるというある種の契約があることを意味しますか? クライアントはこれらの生成されたクラスをどこで取得しますか? 申し訳ありませんが、私にはまったくわかりません。
これは、リモートクライアントアプリケーションがHibernateに依存しているためです。リモートクライアントのクラスパスにHibernateがない場合は、を取得しNoClassDefFoundError
ます。これは、Hibernateでの抽象化がいかにリークであるかを示しています。
基本的に、ネットワークを介してオブジェクトを渡さないでください。メッセージを渡してください(必要に応じて、オブジェクトの作成に使用できます)。
プロキシは初期化されていません。それらが転送されると、Session
最初に関連付けられていたものが失われます。そのため、リモート側でそれらを初期化しようとすると、論理的に失敗します。
を使用して、送信する前にそれらを完全に初期化できます。Hibernate.initialize(aProxy)
詳細については、この回答を確認してください。