Нет, сервер не может создавать объекты пользовательского интерфейса GWT (например, вертикальные панели) для использования на уровне представления, и не должен этого делать, поэтому он называется «сервером», а «уровень представления» - для обслуживания данных и обработки. вся бизнес-логика, другая отображает вещи на экране и позволяет пользователю взаимодействовать с ними.
Тем не менее, вы можете отправлять аннотированные POJO в JPA на интерфейс очень хорошо (мы делаем это во всех наших приложениях). Вам просто нужно включить исходный код для самих аннотаций, чтобы GWT знал, как их скомпилировать. Вы также должны убедиться, что ваши POJO находятся в пакете, на который ссылается файл NameOfXmlFile.gwt.xml, например:
<module>
<inherits name='com.google.gwt.user.User'/>
<source path="domain" />
</module>
Этот файл в моем случае находится в папке над пакетом под названием «домен», где живут все мои POJO, аннотированные JPA. Затем на стороне клиента вы говорите ему наследовать этот файл .gwt.xml:
<module>
<inherits name='com.google.gwt.user.User'/>
<!-- Domain layer references -->
<inherits name='your.package.structure.NameOfXmlFile'/>
</module>
Существуют ограничения на то, что вы можете поместить в эти классы (например, BigDecimal не поддерживается и т. Д.), Но все, что может быть скомпилировано компилятором GWT (и, конечно, могут быть аннотации JPA), может быть отправлено без необходимости какого-либо вида передачи объектов. Это одна из реальных сильных сторон GWT, в которой вы можете использовать одни и те же JPA Pojos во всем приложении, даже не создавая других подобных объектов.
Редактировать: Я только что заметил, что вы сказали JDO , а не JPA . Я полагаю, что то же самое применимо и там, хотя они просто аннотации?