Java “是什么?”P";JDO查询中的mean
我正在谷歌应用程序引擎上使用JDO。每个“员工”都有一个“钥匙”。我有一组密钥,希望检索其密钥属于此组的所有员工 因此,我使用指定的“contains()”过滤器实现了它。代码运行良好,如下所示-Java “是什么?”P";JDO查询中的mean,java,google-app-engine,jdo,jdoql,Java,Google App Engine,Jdo,Jdoql,我正在谷歌应用程序引擎上使用JDO。每个“员工”都有一个“钥匙”。我有一组密钥,希望检索其密钥属于此组的所有员工 因此,我使用指定的“contains()”过滤器实现了它。代码运行良好,如下所示- List<Key> keys = getLookupKeys(....) ..//Get keys from somewhere. Query query = pm.newQuery(Employee.class,":p.contains(key)"); //What is ":P" h
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
List keys=getLookupKeys(..)//从某处获取密钥。
queryquery=pm.newQuery(Employee.class,“:p.contains(key)”)//这里的“:P”是什么?
列出员工=(列表)q.execute(键)//这正是我想要的
我想知道的是:p在这个查询中是什么?Employee对象没有任何名为“p”的字段,我的查询也没有声明任何此类参数。那么这个“p”指的是什么呢?“p”有什么特殊意义吗?我相信它映射了一个隐式输入参数。由于只有一个参数,您不需要显式调用
setParameter
,只需使用它即可。我相信这是可以的,因为:
Query query = pm.newQuery(Employee.class,":keys.contains(key)");
List<Employee> employees = (List<Employee>) q.execute(keys);
queryquery=pm.newQuery(Employee.class,”:keys.contains(key)”;
列出员工=(列表)q.execute(键);
这可能更清楚
有关另一个示例,请参见的“隐式参数”部分