通过键对象化查询
objectify query by keys
我有一个实体
@Entity
public class Book{
...
List<Key<Page>> pages;
...
}
所以为了买一本书我做了
Book book = ofy().load().type(Book.class).id(id).now();
拿到书后,我想拿到书页;因此我的问题是:我可以按键查询还是必须按 ID 查询?如果我有我能做的ID
List<Page> pages = ofy().load().type(Page.class).ids(ids);
但我需要的是
List<Page> pages = ofy().load().type(Page.class).keys(keys);
否则我必须进行线性工作以遍历键以提取 ID 或名称,我什至不确定这是否有效,因为键实际上有父项,因此页面的键构造为
Key pageKey = KeyFactory.createKey(bookKey, Page.class.getSimpleName(),someString);
那么在这种情况下我的最终答案是什么?
您可以轻松地通过键加载实体。来自 ofy 的概念页面 (https://code.google.com/p/objectify-appengine/wiki/Concepts)
Map<Key<Object>, Object> lotsOfThings = ofy().load().keys(carKey, airplaneKey, chairKey, personKey, yourMamaKey);
我有一个实体
@Entity
public class Book{
...
List<Key<Page>> pages;
...
}
所以为了买一本书我做了
Book book = ofy().load().type(Book.class).id(id).now();
拿到书后,我想拿到书页;因此我的问题是:我可以按键查询还是必须按 ID 查询?如果我有我能做的ID
List<Page> pages = ofy().load().type(Page.class).ids(ids);
但我需要的是
List<Page> pages = ofy().load().type(Page.class).keys(keys);
否则我必须进行线性工作以遍历键以提取 ID 或名称,我什至不确定这是否有效,因为键实际上有父项,因此页面的键构造为
Key pageKey = KeyFactory.createKey(bookKey, Page.class.getSimpleName(),someString);
那么在这种情况下我的最终答案是什么?
您可以轻松地通过键加载实体。来自 ofy 的概念页面 (https://code.google.com/p/objectify-appengine/wiki/Concepts)
Map<Key<Object>, Object> lotsOfThings = ofy().load().keys(carKey, airplaneKey, chairKey, personKey, yourMamaKey);