Key.create vs. ofy()。load()

时间:2013-05-04 13:39:39

标签: google-app-engine objectify

我想得到一个实体的密钥(我不需要实际的实体。我只需要密钥来获得一个子实体)。

所以我知道有两种方法可以做到:

// 1.
Key<Thing> tKey = com.googlecode.objectify.Key.create(Thing.class, id);

// 2.
Key<Thing> tKey = ofy().load().type(Thing.class).id(id);

他们之间有什么区别?什么更快?我应该使用哪一个?

如果我必须这样做,答案是否会改变:

Thing t = tKey.get();

1 个答案:

答案 0 :(得分:1)

您想使用Key.create(Thing, id)

ofy().load().type(Thing.class).id(id)会返回Ref<Thing>,而非Key<Thing>。它实际上是从数据存储区中加载出来的东西,这不是你想要的。