使用祖先进行GAE JPA查询

时间:2013-03-25 21:20:54

标签: google-app-engine jpa ancestor

我正在试图找出在GAE上使用祖先进行jpa查询的正确方法。

有两个类:书和出版商; Book有一个出版商,但出版商有多本书。

这是没有祖先的人:

Query query = mgr.createQuery("select from Book as Book"); 
execute = (List<Book>) query.getResultList();

如何使用publisher作为查询中的祖先进行正确的查询?感谢。

1 个答案:

答案 0 :(得分:0)

首先必须获得发布者密钥。您可以使用基于密钥的查询,或者如果您拥有发布者的ID,则可以执行以下操作:

Key key = KeyFactory.createKey(Publisher.class.getSimpleName(), publisherId);

获得密钥后,即可:

query.setAncestor(key);
编辑:我没有意识到这是在JDO中这样做的方法。在JPA中不确定,但我认为它类似......