質問

あるクライアント セッションのオブジェクトに別のクライアント セッションからアクセスする方法はありますか?

役に立ちましたか?

解決

あなたは、クライアント・セッション(ClassDescriptor.setIsIsolated)にあなたのエンティティを単離した場合を除き、

その後、ClientSessionでは、実際には任意のエンティティのインスタンスを保持していません。だから、ClientSessionのに対して、すべてのクエリが同じエンティティインスタンスを返しますキャッシングを無効にした場合を除きます。

あなたはエンティティを単離したか、実際のUnitOfWorkを使用している場合は、

あなたが保持したUnitOfWork / IsolatedClientSessionから値を取得する必要があります。複数のスレッドで同時にUnitOfWorkのか、ClientSessionのにアクセスすることはお勧めできません。

他のヒント

あなたが達成しようとしていることを私は確信していませんが、によると、 サーバーとクライアントのセッション TopLink開発者ガイドによると、複数のスレッド間でクライアント・セッションを共有することは想定されていません。

クライアント セッションはスレッドセーフですが、複数のスレッドにまたがる書き込みには使用しないでください。同じクライアント セッションからマルチスレッド書き込み操作を行うと、エラーが発生し、データが失われる可能性があります。詳細については、を参照してください。 「同時実行性」.

なぜこれが必要なのか説明していただけますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top