我有以下实体:
@Entity
public class ActionIndex extends EntityObjectAutoID {
@Parent Ref<Action> action;
@Id Long id;
@Index List<Long> receivers;
....
}
我想检索添加到数据存储区的最新10个实体的密钥。但是如果我使用这个查询:
ofy().load().type(ActionIndex.class).limit(10).keys().list();
当然我得到前10个实体而不是最后10个实体。根据Objectify's doc:
如果此查询仅限于Class,则可以对@Id属性进行排序 没有@Parent。请注意,这仅适用于降序 排序;默认迭代是键升序。
您无法对@Parent属性进行排序。
由于我的班级有父母(我需要它),我该怎样做才能让实体反向添加顺序,而不必添加额外的时间戳属性?
答案 0 :(得分:0)
我发现了怎么做。要按键排序,您只需使用__key__
作为属性。对于过滤,有一个名为filterKey的便捷方法,但就我所见,它的等效排序(orderKey)不存在。
ofy().load().type(ActionIndex.class).order("-__key__").limit(10).keys().list();
---编辑----
根据以下评论,似乎必须使用Date属性。