Objectify order()需要祖先()?

时间:2015-08-18 04:23:46

标签: java objectify ancestor

我有一个包含@ 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()是否需要ancestor()。

有谁知道?

1 个答案:

答案 0 :(得分:1)

@ Parent和ancestor()是红色鲱鱼。您的查询应该按原样运行。您确定已应用@Index字段保存了实体吗?如果添加@Index,则需要重新保存实体以建立索引。

不使用过滤器查询始终有效 - 它始终返回每个实体。过滤需要实时索引。