Google App Engine Java: запрос дочернего объекта - PullRequest
2 голосов
/ 07 марта 2011

Вопрос связан с движком приложений Google Java.

У меня есть два объекта Сотрудник, Адрес. У каждого сотрудника есть список адресов init, а также статус String: текущий / удален / оставлен / уволен.

Теперь я хочу получить список всех моих нынешних сотрудников, базирующихся в Хьюстоне.

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

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

В моем классе БД, как сказать моему запросу сделать то, что мне нужно.

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

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

Когда я устанавливаю свой параметр статуса в текущий, он выдаст мне список текущих сотрудников, как мне добавить условие «Хьюстон» в мой запрос, чтобы мне не пришлось выполнять фильтр самостоятельно.

Я чувствую, что что-то упустил. Ценю вашу помощь.

1 Ответ

1 голос
/ 08 марта 2011

Для этого потребуется соединение, что невозможно в запросе к App Engine. Лучшим вариантом будет запрос всех адресных сущностей из Хьюстона, а затем выборка их записей сотрудников и фильтрация (в памяти) по статусу.

...