Google App Engine + JDO +数据存储区:基于密钥的过滤器上的OR运算符

时间:2013-07-12 15:30:19

标签: google-app-engine google-cloud-datastore jdo datanucleus

我正在尝试通过一个查询来获取数据存储区中的实例列表,该查询过滤了名为“account”的字段上的无主关系。此查询有效(它返回一些结果):

SELECT FROM it.example.model.Entity
WHERE (account == alias0)
PARAMETERS com.google.appengine.api.datastore.Key alias0
ORDER BY creationDate desc RANGE 0,10

此查询没有(它返回一个空的结果集):

SELECT FROM it.example.model.Entity
WHERE (account == alias0 || account == alias1)
PARAMETERS com.google.appengine.api.datastore.Key alias0, com.google.appengine.api.datastore.Key alias1
ORDER BY creationDate desc RANGE 0,10

我无法弄清楚为什么OR关系不起作用!

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以尝试使用or

SELECT FROM it.example.model.Entity
WHERE (account == alias0 or account == alias1)
PARAMETERS com.google.appengine.api.datastore.Key alias0,    
com.google.appengine.api.datastore.Key alias1
ORDER BY creationDate desc RANGE 0,10