【问题标题】:What does ":P" mean in a JDO queryJDO 查询中的“:P”是什么意思
【发布时间】:2023-03-28 01:05:02
【问题描述】:

我在谷歌应用引擎上使用 JDO。每个“员工”都有一个“钥匙”。我有一组键,想检索其键属于该组的所有员工。

所以我使用here 指定的'contains()' 过滤器来实现它。代码工作正常,看起来像这样 -

List<Key> keys = getLookupKeys(....) ..//Get keys from somewhere.

Query query = pm.newQuery(Employee.class,":p.contains(key)"); //What is ":P" here?
List<Employee> employees = (List<Employee>) q.execute(keys); //This correctly gives me all I want

我想知道的是这个查询中的“:P”是什么? Employee 对象没有任何名为“p”的字段,我的查询也没有声明任何此类参数。那么这个“p”指的是什么? 'p'有什么特殊含义吗?

【问题讨论】:

    标签: java google-app-engine jdo jdoql


    【解决方案1】:

    我相信它正在映射一个隐式输入参数。由于只有一个参数,所以不需要显式调用setParameter,直接使用即可。我相信它没问题:

    Query query = pm.newQuery(Employee.class,":keys.contains(key)");
    List<Employee> employees = (List<Employee>) q.execute(keys); 
    

    这可能更清楚。

    有关另一个示例,请参阅Apache JDOQL docs 的“隐式参数”部分。

    【讨论】:

      猜你喜欢
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-14
      • 2014-09-21
      • 2011-08-31
      • 1970-01-01
      相关资源
      最近更新 更多