Я использую версию jdo 3.1. У меня есть необработанный запрос вроде этого:
SELECT FROM info.Applicant where (SELECT shop FROM
supervisor.AssignedShop where supervisor == :supervisor).contains(this.shop)
Я хотел бы использовать декларативный API, но не получил его. Вот мой код:
final Query subQuery = getJdoPersistenceManager().newQuery(AssignedShop.class);
subQuery.setResult("shop");
subQuery.setFilter("supervisor == :supervisor");
final Query query = getJdoPersistenceManager().newQuery(Applicant.class);
query.setFilter("assignedShop.contains(this.shop)");
query.addSubquery(subQuery, "assignedShop", null, Collections.emptyMap());
return (List<Applicant>) query.execute(supervisor);
Вопрос в том, как установить супервизор параметров в подзапросе?