2

我试图弄清楚在 GAE 上使用祖先进行 jpa 查询的正确方法是什么。

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

这是没有祖先的:

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

如何以发布者作为查询的祖先进行正确的查询?谢谢。

4

1 回答 1

0

您首先必须获得发布者的密钥。您可以使用基于键的查询,或者如果您有发布者的 ID,您可以这样做:

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

获得密钥后,您可以执行以下操作:

query.setAncestor(key);

编辑:我没有意识到这是在 JDO 中做到这一点的方法。在JPA中不确定,但我认为它很相似......

于 2013-03-25T22:25:16.210 回答