Java Google App Engine 数据存储 : 'IN' operator available on JDO query filters, 与 Python 一样吗?

标签 java google-app-engine jdo

This page描述了一个“IN”运算符,可在 GAE 数据存储中使用该运算符将字段与可能匹配的列表进行比较,而不仅仅是单个值:

但是这是针对 Python 的。在 Java (App Engine 1.2.5) 中,尝试

query.setFilter("someField IN param");

在我的 javax.jdo.query 上引发 JDOUserException '部分表达式无法解析:IN param'。

有办法做到这一点吗?

最佳答案

要使用 IN 运算符,我使用以下命令:

List<Site> query(List<String> searchTerms)
{
    javax.jdo.Query q = pm.newQuery(Site.class);
    q.setFilter("param.contains(siteField)");
    q.declareParameters("java.util.Collection param");
    return (List<Site>)q.execute(searchTerms);
}

关于Java Google App Engine 数据存储 : 'IN' operator available on JDO query filters, 与 Python 一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1448677/

相关文章:

java整数舍入(除法相关)

Java Regex 在字符串中查找 Oracle 单行注释

java - Objectify 是否支持 Joda-Time Interval 类?

android - 无法使用我的服务对象连接到我的谷歌端点,oauth 2.0 获取 IOException : NetworkError

google-app-engine - 持久对象列表

java - 使用 Runnable 多线程运行一个方法

java - Dequeue 对象类的 NullPointerException

python - 导致 VerifiedHTTPSConnection 对象的 GET 请求没有属性 '_tunnel_host'

java - App Engine Java JDO 中的单元测试 XG 跨组事务

java - 如何防止对单个 JDO 查询 execute() 进行多次 RPC RunQuery 调用?