получить объекты с предложением with() RequestFactory GWT

Здравствуйте, я только что настроил RequestFactory для своего проекта GWT. Он работает хорошо, но я не могу получить поля объекта объекта. У меня есть BuslineProxy и Bus Proxy.

buslineContext.findAll().with("buses").fire(new Receiver<List<BuslineProxy>>() {

    @Override
    public void onSuccess(List<BuslineProxy> response) {

        String requestedData="";
        for (BuslineProxy busline : response)
        {
            requestedData+="Busline " +busline.getName() +" with id " + busline.getId()+"\n";
            for(BusProxy bus : busline.getBuses())
            {
                requestedData+=bus.getId()+"\n";
            }
        }
        Window.alert(requestedData);
    }
});

My Server Object Busline имеет поле списка, называемое bus. Я подумал, что мне просто нужно поместить поле, к которому я хочу получить доступ, в предложении with. Однако это не работает, и я получаю только все автобусные маршруты, но их список автобусов пуст. Спасибо за любую помощь.


person Benedikt Bünz    schedule 13.11.2012    source источник


Ответы (2)


Вы уверены, что Buses не пуст на сервере, когда GWT сериализует объекты?

Вы можете проверить, правильно ли вы извлекаете Buses, когда вы извлекаете Busline, GWT не будет сам выполнять запрос к базе данных, если данных здесь нет (если только вы не используете некоторые прокси-механизмы и OpenSessionInViewFilter или что-то подобное).

person Florent Bayle    schedule 13.11.2012

Флоран был прав, что данные были пустыми из-за незначительной ошибки. Однако большая проблема заключалась в том, что шина прокси-объекта не имела конструктора по умолчанию и статического метода findAll, даже несмотря на то, что она никогда не создавалась напрямую. Конструктор пуст, а метод findAll возвращает null, но они все равно нужны RequestFactory!

person Benedikt Bünz    schedule 15.11.2012