В моем приложении GWT 2.4.0 я использую RequestFactory и Hibernate/JPA. У меня есть объект Agent
, который имеет много отношений Administrators
через @OneToMany
. Эта ассоциация LAZY
загружена. Таким образом, когда вызывается служба поиска, администраторы агента не загружаются, что в большинстве случаев является желаемым поведением.
Однако я хочу иметь возможность указать, что я хочу, чтобы администраторы агента вернулись при запуске запроса requestFactory в коде на стороне клиента с помощью метода with. Итак, мой клиентский код будет выглядеть примерно так:
RequestContext.findAgent(agentId).with("administrstors").fire()
и моя служба на стороне сервера выглядит примерно так:
public Agent findAgent(Long id) {
return getEntityManager().createQuery("SELECT a" +
" FROM Agent" +
" WHERE a.id=:id", Agent.class)
.setParameter("id", id)
.getSingleResult();
}
Я хочу выяснить, использовался ли метод with для отправки запроса. Мне нужно настроить запрос JPA, чтобы также загружать администраторов агента в случае, если он использовался на стороне клиента. Есть ли способ получить доступ к деталям запроса, сделанного через RequestFactory на стороне сервера?
Если я знаю, что клиентскому коду нужны администраторы агента, мой запрос JPA будет выглядеть так:
public Agent findAgent(Long id) {
return getEntityManager().createQuery("SELECT a" +
" FROM Agent a LEFT JOIN a.administrators admin" +
" WHERE a.id=:id", Agent.class)
.setParameter("id", id)
.getSingleResult();
}
Любое понимание будет оценено. Заранее спасибо.