Мне интересно, как лучше всего обрабатывать сопоставление объектов управления данными (JPA 2) в DTO.Поскольку вы не можете использовать бины сущностей "напрямую" с GWT, вам нужно вместо этого обрабатывать DTO.
У меня есть несколько сущностей с различными отношениями (OneToOne, OneToMany, ManyToMany с таблицей соединений и т. Д.).Первоначально я начал преобразовывать все сущности в DTO вручную с помощью класса MyEntityTransform.java с методами, такими как:
static final public CarBean persistant2Bean(CarPersist) {
return new CarBean(cartPersist.getId(), carPersist.getName(),
carPersist.getDescription());
}
Другие методы: persistent2BeanCollection (...), persistent2BeanMap (...),bean2Persistent (...), bean2PersistentCollection (...)
Это становится сложной задачей при обработке коллекций, особенно когда одна и та же сущность имеет ссылки на несколько других сущностей;
Я думалоб использовании платформы DOZER для обработки отображения между сущностями и DTO.Здесь упоминается: http://code.google.com/intl/fr/webtoolkit/articles/using_gwt_with_hibernate.html
Однако я не уверен, насколько хорошо он обрабатывает различные сопоставления JPA (например, многие) и сколько нужно работы для его настройки в dozer-bean-mappings.xml.файл.Также я предполагаю, что эта среда интенсивно использует отражение для выполнения операций отображения.Такой подход намного медленнее, чем отображение, выполняемое «руками», например, когда я использую методы в своем классе MyEntityTransform.java.
Что вы предлагаете?Мне интересен опыт работы с JPA с GWT.
Спасибо.
Celinio
http://www.celinio.net/techblog