0

我的 GWT+GAE 应用程序使用 Requestfactroy 实体定位器,在服务器端我使用 Objectify,当我的实体 ID 类型为 String 时它运行良好,现在我想更改为 Long id,并且卡住:通过使用我找不到的定位器签名实体:

 @Override
    public T find( Class<? extends T> clazz, Long id )
    {
    }

因为 Objectify 需要包含 @Parent 键来获取子实体(HRD),并且从上面的方法中我们无法获取父实体。我从 GWT 论坛找到了这个帖子: 这里

然而,这个线程似乎没有给出任何建设性的建议(它最终回落到 String ID Entity 的解决方案)。

非常感谢。

4

1 回答 1

1

问题是长 ID 不足以识别您的对象。正如您所说,您还需要它的父对象,因此 ID 实际上是一个复合 ID:父对象和子对象的 ID。

顺便说一句,在这里使用keyToString或类似有什么问题?(如您链接到的线程所建议的那样)
来自 a 的 IDLocator仅在服务器端使用,并且仅定位器使用(并且按原样序列化在客户端来回传递;但它们是不透明的客户端上的东西,你甚至没有被授予访问权限)。

于 2012-03-17T14:41:53.187 回答