[英]Sort by multiple columns with objectify
我想知道,如果有一种方法可以使用2列而不是一列对查询进行排序。 我非常肯定query.order("param1").order("param2")
忽略了一个参数。
是否可以使用具有多列的objectify进行排序?
这是我的@Entity
@Entity
public class Operation {
@Id protected Long id;
@Index protected Long creatorId;
@Index protected Long categoryId;
@Index protected Double value;
@Index protected String description;
@Index protected Date date;
}
可以使用具有多个列的objectify进行排序。 实际上,如果您拥有正确的多属性索引,那么您的问题中的查询应该可以正常工作。
例如,如果要按日期和creatorId(从队列中获取这些字段)对结果进行排序,则需要在项目的“datastore-indexes.xml”文件中包含以下索引:
<datastore-index kind="Operation " ancestor="false">
<property name="date " direction="asc" />
<property name="creatorId" direction="asc" />
</datastore-index>
请注意,这只是一个例子。 “祖先”,“方向”的实际值取决于您的要求。
另一种选择是自动生成所需的索引。 如果在GAE开发服务器上运行应用程序,开发服务器将自动生成带有所需索引的数据存储区索引文件(WEB-INF / appengine-generated / datastore-indexes-auto.xml)。
你可以在这里阅读更多相关信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.