我见过很多例子,但似乎没有一个例子适用于我的问题。我在GAE(Java)中使用JDO。我没有发现任何错误消息。当我知道应该存在或者结果匹配具有dispatchId的空List的对象时,我只是没有得到结果。任何帮助将不胜感激!
这是我的相关课程代码:
public class Department {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;
...
// a list of codes that a department might be identified by
@Persistent
private List<String> dispatchId;
}
我正在尝试找到一个部门,其dispatchId List包含特定的dispatchId代码。我的Java servlet代码是:
String dispatchId = "1353000"; // may contain letters and/or numbers
Query q = pm.newQuery(Department.class, ":dispatchId.contains(dispatchId)");
@SuppressWarnings("unchecked")
List<Department> depts = (List<Department>) q.execute(dispatchId);
在GAE数据存储区查看器(在GAE上直播),我的测试部门的dispatchId字段如下所示(如果这有帮助):
[u'1353000',u'0566940',u'0566936',u'1368496']
再次感谢任何输入...... John
答案 0 :(得分:3)
你好,你还在寻找答案吗?
以下是解决方案:
String dispatchId = "someId";
Query query = pm.newQuery(Department.class);
query.setFilter("dispatchId == '"+ dispatchId + "'");
List<Department> depts = (List<Department>) query.execute();
在这里你需要一个引号来包含参数。