【问题标题】:Objectify order() requires ancestor()?对象化订单()需要祖先()?
【发布时间】:2015-08-18 04:23:46
【问题描述】:

我有一个包含@Parent 的实体

public class MyObject {

    @Id
    private             String          instID;

    // This has to stay String, because GAE doesn't take custom type
    @Index
    @Parent
    private             Ref<Partner>    ownerRef;

    @Index
    private             Date            createdOn;
}

当我尝试查询所有最新的 MyObject 时,运行...

ofy().load()
     .type(MyObject.class)
     .order("-createdOn")
     .limit(10)
     .list();

我得到了零记录......但是,如果我注释掉 .order() 部分,我得到了返回的记录。我想知道 order() 是否需要祖先()。

有人知道吗?

【问题讨论】:

  • 所以我修改了加载语句()以包含祖先(),它可以工作......但它引入了一个问题,因为我真正想要的是选择前 10 条记录,而不管父级是什么是。

标签: java objectify ancestor


【解决方案1】:

@Parent 和祖先() 是红鲱鱼。您的查询应该按原样工作。您确定您保存了应用了@Index 字段的实体吗?如果添加@Index,则需要重新保存实体才能建立索引。

没有过滤器的查询总是有效的——它总是返回每个实体。过滤需要实时索引。

【讨论】:

  • stickfigure...你又把它钉在了头上...我刚刚删除了我所有的测试数据并重新开始,查询工作正常。所以我的问题的答案是“不,使用 order() 时不需要调用祖先()”再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-23
  • 2019-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多