2

我有:

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如果是,如何?

4

0 回答 0