0

我想知道是否有办法在服务器上获取实体的 stableId?或者对我的情况有更好的解决方案吗?

在我的应用程序中,我有两个实体 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 的组合。由于您没有详细显示您的代码,因此我无法直接解决它,但我可以提出两种处理方法。

  1. 使用对象 B 的 Key 而不是它的 id。它们的关键包括对 A 的引用。

  2. 由于密钥很大,您可能不想使用整个密钥。在这种情况下,您需要同时使用 A 的 id 和 B 的 id 来识别 B。使用这两个 id,您可以获得 B。您可以重建 Key 并通过 key 获取 B,或者使用祖先查询指定 A 作为祖先。

于 2012-11-27T18:11:28.577 回答