GWT и Hibernate - PullRequest
       1

GWT и Hibernate

2 голосов
/ 12 мая 2011

Считаете ли вы, что использование только GWT и Hibernate звучит как «нормальное» решение для веб-приложения, которому требуется очень богатый пользовательский интерфейс?

Ответы [ 7 ]

3 голосов
/ 12 мая 2011

GWT и Hibernate НЕ являются естественным совпадением. Для получения полной информации о том, почему и как вы можете работать с ними обоими вместе, прочитайте http://code.google.com/intl/es-ES/webtoolkit/articles/using_gwt_with_hibernate.html.

Но чтобы подвести итог, у вас будет 3 варианта:

  • Использовать простые объекты передачи данных (DTO).
  • Используйте Dozer. С Dozer вы все еще используете DTO, но Dozer сделает большую часть работы за вас.
  • Используйте Gilead для "магического" преобразования между вашей стороной GWT и стороной сервера.

По моему опыту, "магические" решения прекрасны, когда они работают. Когда нет, удачи. Поэтому, если бы я был на вашем месте, я бы выбрал вариант 1 или 2.

2 голосов
/ 12 мая 2011

В двух словах, да.

У вас, кажется, есть 2 требования:

Богатый пользовательский интерфейс: Как вы, вероятно, знаете, GWT можно использовать для создания приложений с богатым пользовательским интерфейсом. Возможности практически безграничны. Hibernate не играет никакой роли в пункте 1.

Масштабируемость, Действительно, у моделей данных большие издержки, так как каждый объект Hibernate должен быть сопоставлен с моделью GWT при отправке их клиенту. Как указали пользователи выше, существуют сторонние приложения, которые помогут вам в этом. Добавление новых моделей данных приведет к изменениям в коде сервера и клиента. Однако, если ваша архитектура достаточно сильна, это не должно быть большой проблемой.

1 голос
/ 19 сентября 2012

Действительно хорошая архитектура, но она вам понадобится для идеального соответствия.

http://beanlib.sourceforge.net/

  //To response RPC with just the current entity
  return new Hibernate3DtoCopier().hibernate2dto(entity); 

  //To response RPC with the entity with their related entities. 
  return new Hibernate3DtoCopier().hibernate2dtoFully(entity); 
1 голос
/ 13 мая 2011

Я думаю, что лучшее решение, которое было решено в GWT 2.1+, - это использование RequestFactory и механизма Entity / ValueProxy. Для более подробного понимания этой идиомы в GWT обратитесь к этому http://code.google.com/webtoolkit/doc/trunk/DevGuideRequestFactory.html

1 голос
/ 12 мая 2011

Да, и он используется много. В основном у вас есть два варианта:

  • используйте DTO и всегда инициализируйте свои спящие объекты на сервере
  • Использование Галаад
0 голосов
/ 08 апреля 2012

Конечно, это так.

Я делаю учебник, чтобы помочь людям узнать, как интегрировать библиотеки.Проверьте это:

http://singularityprogramming.wordpress.com/2012/04/06/gwt-2-4-0-hibernate-3-6-10-final/

0 голосов
/ 13 мая 2011

Gilead больше всего скучает, когда думает о приложениях GWT.При проектировании GWT-приложения в виде 3-уровневой архитектуры первое, о чем вы будете думать, это то, что веб-уровень - это сгенерированный gwt пользовательский интерфейс JavaScript, а уровень приложения - ваша служба RPC, но это не так.Оба они принадлежат к веб-уровню.Размышляя о веб-уровне, вы обычно делаете преобразование данных в данные, которые должны отображаться.Но это не произойдет при использовании Gilead, и у вас нет шансов сделать это.Поэтому я всегда рекомендовал бы использовать картограф данных, такой как Dozer, также при передаче в настоящее время всех данных из базы данных в пользовательский интерфейс.Когда ваше приложение вырастет, придет время, когда вам нужно преобразование!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...