Java GAE:我可以通过比较实体的属性来过滤吗?
Java GAE: Can I filter by comparing the properties of entities?
我需要查询具有相同属性的实体,例如:
class Relation {
Integer a;
Integer b;
}
Query q = pm.newQuery(Relation.class);
q.setFilter("a == b");
上面的查询 returns 空列表,我还没有找到任何方法来完成这个任务。
查看 the documentation 的数据存储查询,它明确指出:
The property value must be supplied by the application; it cannot refer to or be calculated in terms of other properties.
所以你想做的事是不可能的。
你可以做的一件事是:
1- 将第三个 属性 添加到您的实体(比如一个名为 "equals" 的布尔值)。
2- 每当你更新你的实体时,你检查是否 a == b.
3- 根据 2.
中的检查更新 "equals"
4-要查询,你看where equals == true.
我需要查询具有相同属性的实体,例如:
class Relation {
Integer a;
Integer b;
}
Query q = pm.newQuery(Relation.class);
q.setFilter("a == b");
上面的查询 returns 空列表,我还没有找到任何方法来完成这个任务。
查看 the documentation 的数据存储查询,它明确指出:
The property value must be supplied by the application; it cannot refer to or be calculated in terms of other properties.
所以你想做的事是不可能的。
你可以做的一件事是:
1- 将第三个 属性 添加到您的实体(比如一个名为 "equals" 的布尔值)。
2- 每当你更新你的实体时,你检查是否 a == b.
3- 根据 2.
中的检查更新 "equals"4-要查询,你看where equals == true.