0

サーバー上のエンティティの stableId を取得する方法があるかどうか疑問に思っていますか? または、私の状況に対するより良い解決策はありますか?

私のアプリには、2 つのエンティティ A と B があります。B には親 A があります。

A Class

      @ID 
      Long id

      String name

B Class

    @Parent A

     @ID 
     Long id

     String value

登録済みのクライアントにメッセージを送信し、これらのオブジェクトが変更されたときに通知するブロードキャスト システムがあります。A を送信して ID で一致させれば、すべて問題ありません。ID で B と照合しようとすると、ID が一意ではないため問題が発生します。

B Message
     Long id 

クライアントが上記の B メッセージを受信し、id フィールドを比較しようとすると、複数の B オブジェクトで同じになります。

この状況をどのように処理するのが最善ですか?

4

1 に答える 1

0

祖先を持つオブジェクト(Bなど)には、それ自体のIDと祖先のIDを組み合わせたキーがあります。コードを詳細に示していないため、直接対処することはできませんが、これに対処する2つの方法を提案できます。

  1. IDの代わりにオブジェクトBのキーを使用します。それらのキーには、Aへの参照が含まれています。

  2. キーが大きいため、キー全体を使用したくない場合があります。この場合、Bを識別するためにAのIDとBのIDの両方を使用する必要があります。両方のIDを使用すると、Bを取得できます。キーを再構築してキーごとにBを取得するか、Aをキーとして指定する祖先クエリを使用できます。祖先。

于 2012-11-27T18:11:28.577 に答える