对象化 - 按参考排序
Objectify - Order by reference
是否可以在 Objectify 中按引用对象的字段排序?
示例:
public class Foo {
@Id private long id;
@Index Ref<AnObject> ref;
}
public class AnObject {{
@Id private long id;
@Index name;
}
然后我尝试执行此查询但它不起作用:
Query<Foo> query = ofy().load().type(Foo.class)
.limit(Constants.DATASTORE_LIMIT)
.order("ref.name");
谢谢。
恐怕不会。这不是数据存储支持的东西。它不能进行连接。
基本上有两种方法可以解决该限制:
非规范化并将 'name' 数据的索引副本放入您的 Foo 对象中。您可以使用 @OnSave
方法自动执行此操作。缺点是如果有变化需要记得更新两处的数据
自己做查询规划器的工作。查询相关的AnObjects,然后查询相关的Foos。
是否可以在 Objectify 中按引用对象的字段排序?
示例:
public class Foo {
@Id private long id;
@Index Ref<AnObject> ref;
}
public class AnObject {{
@Id private long id;
@Index name;
}
然后我尝试执行此查询但它不起作用:
Query<Foo> query = ofy().load().type(Foo.class)
.limit(Constants.DATASTORE_LIMIT)
.order("ref.name");
谢谢。
恐怕不会。这不是数据存储支持的东西。它不能进行连接。
基本上有两种方法可以解决该限制:
非规范化并将 'name' 数据的索引副本放入您的 Foo 对象中。您可以使用
@OnSave
方法自动执行此操作。缺点是如果有变化需要记得更新两处的数据自己做查询规划器的工作。查询相关的AnObjects,然后查询相关的Foos。