我正在试图找出在GAE上使用祖先进行jpa查询的正确方法。
有两个类:书和出版商; Book有一个出版商,但出版商有多本书。
这是没有祖先的人:
Query query = mgr.createQuery("select from Book as Book");
execute = (List<Book>) query.getResultList();
如何使用publisher作为查询中的祖先进行正确的查询?感谢。
答案 0 :(得分:0)
首先必须获得发布者密钥。您可以使用基于密钥的查询,或者如果您拥有发布者的ID,则可以执行以下操作:
Key key = KeyFactory.createKey(Publisher.class.getSimpleName(), publisherId);
获得密钥后,即可:
query.setAncestor(key);
编辑:我没有意识到这是在JDO中这样做的方法。在JPA中不确定,但我认为它类似......