在谷歌应用引擎中订购结果

时间:2011-04-05 12:51:27

标签: java google-app-engine objectify

Iam尝试使用objectify和GAE进行简单的排序。不幸的是它不起作用。这是一个简单的例子

class Book{  
     int publishYear;  
     long price;  
}

根据谷歌的说法,你必须订购你对其进行不等式过滤的字段。所以我做了以下

query.filter("publishYear >=", year)  
query.order("publishYear")

然后我想订购价格所以我添加了行

query.order("price")

但没有发生任何事情。我尝试了不同的领域,似乎每个查询只能生成一个订单。虽然这个例子说的不同

http://code.google.com/appengine/docs/java/datastore/queries.html#Restrictions_on_Queries

有人有线索吗?提前谢谢

1 个答案:

答案 0 :(得分:1)

Objectify文档说:

  

通过过滤或排序来运行查询   反对多个属性(即,   如果不能通过之字形来满足   合并单一属性索引),你   必须在中创建一个多值索引   您的datastore-indexes.xml。有一个   关于这个主题写的很多;我们   建议How Entities and Indexes are StoredIndex Building

希望它会有所帮助。