【发布时间】:2011-11-23 23:52:24
【问题描述】:
我正在用 Objectify 做一个简单的异步 put 操作:
ofy().async().put(object);
这会返回 Result
Result<Key<ObjectEntity>> result = ofy().async().put(object);
然后我可以调用 .get() 来阻止,直到我得到结果:
Key<ObjectEntity> objectKey = result.get();
但是我可以用这个 objectKey 做什么来取回我的对象实体?我基本上希望能够将其作为对象发送回 GWT。
【问题讨论】:
-
想澄清一下,您想将密钥发送回 ure webapp?但只是让你知道,你真的不应该抓住关键对象来检索对象......你会在数据存储中插入一个带有一些 id 的对象,然后当你想检索你的对象时,您将创建一个新密钥: new new Key
(Entity.class,entityId) -
为什么需要“返回”对象?你仍然在
object中拥有它,它是你传递给原始 put 操作的。 -
Nadir,我在数据存储中放了一个对象,我能得到的只有对象的键。我想要实际的对象。如果我执行非异步获取,这就是我返回的内容。
-
尼克,我希望更新的对象返回它的原因是因为我正在从 jdo 转换我的应用程序,这就是我当前应用程序的工作方式。此外,我相信还有其他实例需要能够从键转换为原始对象。如果可以不必对密钥的每个重要记录进行调用以重建对象,那将使我的生活变得更加简单。它很早,但我相信我在异步获取时遇到了同样的问题,当我无法访问我放置的对象时就会发生这种情况。
标签: google-app-engine objectify