Google应用程序引擎(Java)中的“或”运算符

Google应用程序引擎(Java)中的“或”运算符,java,sql,google-app-engine,Java,Sql,Google App Engine,我在Java中使用GAE,我有一个数据表人员,我需要做如下工作: 从姓名=迈克或年龄=50的人员中选择* 我的代码构建了,我不知道如何用或构建句子 Query query = new Query(getEntityKind(), getRootEntityKey()); query.addFilter("name", FilterOperator.EQUAL, "Mike"); query.addFilter("age", FilterOperator.EQUAL, 50); 有什么想法吗 谢

我在Java中使用GAE,我有一个数据表人员,我需要做如下工作:

从姓名=迈克或年龄=50的人员中选择*

我的代码构建了,我不知道如何用或构建句子

Query query = new Query(getEntityKind(), getRootEntityKey());
query.addFilter("name", FilterOperator.EQUAL, "Mike");
query.addFilter("age", FilterOperator.EQUAL, 50);
有什么想法吗

谢谢

GAE查询中没有OR运算符。唯一的方法是运行两个查询,然后合并结果

更新:自1.7.0以来,GAE支持或查询通过。它所做的基本上是运行并行查询,然后在服务器上和/或它们。成本与在客户机上运行单独的查询并合并它们相同,但可以节省往返时间。

GAE查询中没有OR运算符。唯一的方法是运行两个查询,然后合并结果


更新:自1.7.0以来,GAE支持或查询通过。它所做的基本上是运行并行查询,然后在服务器上和/或它们。成本与在客户机上运行单独的查询并合并它们是一样的,但可以节省往返时间。

您可以使用JDO或JPA执行或-但这有点小技巧,因为它实际上将您的查询转换为in查询。这可能会给你一些关于如何重写你的查询的想法


查看本博客文章的结尾了解更多信息:

您可以在JDO或JPA中执行或-但这有点技巧,因为它实际上将您的查询转换为in查询。这可能会给你一些关于如何重写你的查询的想法

查看本博客文章的结尾,了解更多信息:

IN查询是在一个属性上执行的,而不是在不同的属性上执行的。它还可以在内部转换为一系列查询,这些查询合并结果。IN查询是在一个属性上执行的,而不是在不同的属性上执行的。它还可以在内部转换为一系列合并结果的查询。