在Datastore Queries 文档中,可以看到使用 Query 对象方法调用设置查询的示例:
Query q = pm.newQuery(Person.class);
q.setFilter("lastName == lastNameParam");
q.setOrdering("height desc");
q.declareParameters("String lastNameParam");
List<Person> results = (List<Person>) q.execute("Smith");
我喜欢这种风格,因为它使每个部分都易于阅读并且易于理解正在做什么。但是,最后他们在实际execute
行中为“lastNameParam”传递了值“Smith”。从我的角度来看,为了保持一致,应该有一个setParameters
Query 方法,以便以与声明参数名称相同的方式清楚地说明传递给参数的值。我还没有找到这样的查询方法。一个存在吗?如果没有,是否有充分的理由不这样做?还是我的想法很愚蠢,我的推理没有根据?非常感谢!