我有:
Query q = new Query("Kind", key).addSort("DateTime", SortDirection.DESCENDING);
List<Entity> results = datastore.prepare(q).asList(FetchOptions.Builder.withLimit(30));
虽然在执行上述代码时我没有收到任何错误,但我500 Internal Server Error
在调用任何方法时得到了results
. (我已经检查过results
不等于null
。)例如,如果我在 上调用以下任何方法,则会收到此错误results
:
results.isEmpty()
results.size()
results.toString()
for (Entity e : results) {...}
当我.addSort(param, SortDirection.DESCENDING)
从第一行删除时Query q = new Query...
,一切正常,只是结果没有排序。
供您参考,我还为该属性添加了数据存储索引,"DateTime"
如下datastore-indexes-auto.xml
所示:
<datastore-indexes>
<datastore-index kind="Kind" ancestor="true" source="auto">
<property name="DateTime" direction="desc"/>
</datastore-index>
</datastore-indexes>
在 Google App Engine 管理控制台检查Datastore IndexesServing
时,索引显示为 status 。
有人能告诉我为什么我会收到这个错误,我能做些什么吗?其次,我可以对框架List
中的Entity
使用方法进行排序吗?Collections
如果是,如何?