【发布时间】:2013-12-23 12:03:13
【问题描述】:
我有以下实体:
@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:
如果此查询仅限于一个类,您可以对 @Id 属性进行排序 没有@Parent。请注意,这仅对下降很重要 排序;默认迭代是键升序。
您不能对@Parent 属性进行排序。
由于我的类有一个父类(我需要它拥有它),我可以做些什么来以反向添加顺序获取实体而无需添加额外的时间戳属性?
【问题讨论】:
-
尝试在可以存储插入时间的每个实体中添加一个 Date 属性。比按该属性订购
-
是的,这是一个可行的解决方案,但我想知道是否可以在不添加额外属性的情况下以某种方式对键进行排序。也许是不可能的
标签: google-app-engine google-cloud-datastore objectify