Objectify查询孙子关系

时间:2016-08-12 12:28:56

标签: objectify google-cloud-datastore

假设我们有以下实体:

 @Entity
 @Cache
 public class Site{
     ....
 }

 @Entity
 @Cache
 public class Page{
     @Parent
     private Key<Site> parent;
 }

 @Entity
 @Cache
 public class Comment{
     @Parent
     private Key<Page> parent;
 }

在具有Page id和Site id的Page的评论列表后查询的最佳方法是什么?我尝试过.ancestor()方法,但这只接受Site实体,抛出

java.lang.NullPointerException
at com.googlecode.objectify.impl.Keys.getMetadataSafe(Keys.java:61)

如果我提供一个Page实体。 ancestor (site)对于这种情况不够好,因为我需要针对特定​​页面的评论。我能想到的唯一解决方案是在Comment实体Long pageId@Index中添加一个新属性,然后使用filter来获取页面的注释。有更好的解决方案吗?谢谢!

0 个答案:

没有答案