Какова цель getVersion () в RequestFactory GWT? - PullRequest
1 голос
/ 08 ноября 2011

GWT RequestFactory требует, чтобы я реализовал метод getVersion() во всех моих объектах сущности. Просто они все возвращают 0 и помечены как @Transient и все работает отлично.

Зачем мне это нужно? Это чертовски раздражает.

1 Ответ

3 голосов
/ 08 ноября 2011

Взято из: http://code.google.com/intl/pl/webtoolkit/doc/latest/DevGuideRequestFactory.html

Используется RequestFactory для определения, изменился ли объект. Основа магазин (JDO, JPA и т. д.) отвечает за обновление версии каждого время объекта сохраняется, и RequestFactory вызывает getVersion () для узнать об изменениях. Эта информация используется в двух местах. Во-первых, RequestFactoryServlet отправляет событие UPDATE клиенту, если объект изменения в результате вызова метода на сервере, для Например, когда вызов для сохранения редактируемой сущности приводит к обновленная версия на сервере. Во-вторых, клиент поддерживает версию кэш недавно увиденных объектов. Всякий раз, когда он видит сущность, чья версия изменилась, она генерирует события UPDATE на шине событий, чтобы слушатели могут обновить представление.

Таким образом, ваш метод должен возвращать значение контроля версий diffrent каждый раз, когда оно изменяется. Если вам не нужна транспортная система сущностей Request Factory, рассмотрите возможность использования ValueProxy вместо EntityProxy.

...