无法查询列表 GAE中的子字段JDO
问题描述:
我见过很多示例,但似乎没有一个适用于我的问题。我在GAE(Java)中使用JDO。我没有找到任何错误消息。我只是没有得到结果,当我知道应该有或者结果匹配具有dispatchId的空List的对象时。任何帮助将不胜感激!无法查询列表<String> GAE中的子字段JDO
这里是我的相关类代码:
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列表包含特定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' ]再次
感谢您的任何输入...约翰
答
你好你还在寻找答案?
这里是它的一个解决方案:
String dispatchId = "someId";
Query query = pm.newQuery(Department.class);
query.setFilter("dispatchId == '"+ dispatchId + "'");
List<Department> depts = (List<Department>) query.execute();
在这里,您将需要一个单引号包围参数。