Google App Engine Java:查询子对象

时间:2011-03-07 18:04:50

标签: java google-app-engine google-cloud-datastore

问题与Google应用引擎Java有关。

我有两个对象Employee,Address。 每个员工都有一个地址列表init,并且还具有当前/已退役/离开/已解雇的字符串状态。

现在我想获得一份以休斯顿为基地的现有员工名单。

Class Employee {
    @Persistent(mappedBy="employee")
    List<Address> addresses;
    String status;
}

Class Address {
    @Persistent 
    private Employee employee;
    String address1;
    String city;
    String zip;
}

在我的db类中,如何告诉我的查询执行我需要的操作。

Query query = pm.newQuery(Employee.class, whereClause.toString());

List<Employee> empList = (List<Employee>) query.executeWithArray(paramValues.toArray());

当我将状态参数设置为当前时,它会给我一个当前员工的列表,如何将“休斯顿”的条件添加到我的查询中,这样我就不必自己进行过滤。

我觉得我错过了什么。感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

这需要加入,因此在App Engine上的查询中是不可能的。您最好的选择是查询来自休斯顿的所有地址实体,然后获取其员工记录并按状态过滤(在内存中)。