2012-04-20 86 views
2

我想这JDO查询转换为物化查询某个值:如何查询如果列表包含

Query query = pm.newQuery(User.class, 
     "someList.contains(userParam) && someProperty== null"); 
    query.declareParameters("String userParam"); 
    query.setRange(0, 1); 
    query.execute(user.getId()); 

这是我执行客体然而我不知道这是否是正确的:

Query<Question> queryResult = dao.query().filter("someProperty", null) 
      .filter("someList.contains", user.getId()) 
      .limit(1); 

回答

1

Objectify像Java低级API一样工作。只要使用就行了财产的平等过滤器:

Query<Question> queryResult = dao.query(User.class) 
     .filter("someProperty", null) 
     .filter("someList", user.getId()) 
     .limit(1); 
+0

如果您想查询'不null',可能你只需要添加操作数?即:'filter(“someProperty!=”,null)' – 2016-02-28 21:10:55

+0

是的,但这被认为是一种具有轻微不寻常行为的不等式过滤器 - 阅读GAE文档中有关查询和索引的注释!=。 – stickfigure 2016-02-29 01:54:13