Java GAE:我可以通过比较实体的属性来过滤吗?

时间:2015-08-02 15:28:56

标签: java google-app-engine filter jdo

我需要查询具有相同属性的实体,例如:

class Relation {
  Integer a;
  Integer b;
}

Query q = pm.newQuery(Relation.class);
q.setFilter("a == b");

上面的查询返回空列表,我还没有找到任何方法来完成此任务。

1 个答案:

答案 0 :(得分:0)

查看the documentation数据存储区查询,明确指出:

The property value must be supplied by the application; it cannot refer to or be calculated in terms of other properties.

所以你要做的事情是不可能的。

你可以做的一件事是:

1-为您的实体添加第三个属性(比如一个名为&#34的布尔值;等于")。

2-每当您更新实体时,都会检查是否== b。

3-您更新"等于"根据2中的检查。

4-要查询,请查看equals == true。