【发布时间】:2011-05-25 09:51:11
【问题描述】:
我有一个 JDO 查询,它过滤“人”实体的两个属性,我们称它们为“年龄”和“身高”。我希望按人员“分数”排序结果。但是,由于 App Engine 施加的限制,我首先必须按年龄或身高排序。所以我目前有
query.setOrdering("age desc, score asc");
我真的对按年龄排序的结果不感兴趣,我只需要包含它以使查询工作(因为我已经过滤了年龄),我真的只需要按分数排序的结果。
有没有办法让结果按分数排序并有效地忽略年龄排序?
谢谢
【问题讨论】:
-
除了完全删除排序,并在内存中对结果进行排序,我没有看到任何解决方案。
-
在这种情况下,有什么方法可以设置排序的重要性,即按分数排序,然后按年龄排序,而不是反过来?
-
没有。 code.google.com/intl/fr/appengine/docs/java/datastore/… 说:“如果查询同时具有不等式比较的过滤器和一个或多个排序顺序,则查询必须包含不等式中使用的属性的排序顺序,并且排序顺序必须出现在其他排序顺序之前属性。”
-
是的,我读到了,我一直抱着错误的希望,希望有人可以解决这个烦人的限制!
标签: java google-app-engine jdo