Немного другой GWT / GXT настойчивый подход - PullRequest
2 голосов
/ 13 января 2011

Я новичок в GWT / GXT, и я ищу лучший способ сохранения для моих будущих приложений.Я рассматривал много вариантов сделать это, поэтому я решил нарисовать график здесь:alt textИтак, мои выводы:1) JPA / Hibernate является лучшей средой сохранения, но она ненавидит сотрудничество с GWT и особенно с GXT2) JDBC это была просто примерная шутка :)3) MyBatis - действительно отличный инструмент для получения данных из БД, он быстрый, эффективный и имеет большие возможности, которых нет в Hibernate, но написание картографов - худшая вещь.4) Dozzer - убийца ресурсов сервера и пользователя.Вы должны написать много кода котельной плиты, и он просто копирует данные (иногда много).Не используйте его любой ценой !!!Представьте себе сервер, который выполняет 100 сеансов, и каждый запрос бина должен использовать Dozzer.5) DTO - похожая ситуация.Это шаблон, и он просто преобразовывает один тип данных в другой.Серьезной обработки данных нет.Используйте ресурсы сервера с умом.6) Gilead копирует спящие состояния бобов.Это может быть опасно (только что услышано в нескольких комментариях), трудно настроить и интегрировать с другими платформами IoC (Guice в моем случае).7) Не превращайте POJO в BeanModel на стороне клиента.JavaScript действительно медленный и замедляет весь клиент.8) Лучшая практика для меня и, возможно, для вас: найдите кратчайший путь на графике от БД до компонента BaseModel на стороне клиента.9) MyBatis позволяет отображать результаты запросов в bean-компоненты BaseModel (протестировано), поэтому их не нужно много раз преобразовывать, и вам вообще не нужно об этом заботиться.Единственное, что пишет правильные сопоставления.

Это мое личное мнение, но я хотел бы узнать ваше мнение.Пожалуйста, объясните мне, если я не прав, и приведите аргументы против.Я действительно хотел бы использовать Hibernate или, может быть, вы знаете другой ORM или аналогичный MyBatis Framework, который может дать мне прямое сопоставление с BeanModel.

Для моей цели я собираюсь разработать приложение, которое будет генерировать для меня доменные классы в стиле BaseModel с сопоставителями, валидаторами, редакторами, панелями расширенного поиска, DAO, сервисами и классами GWT-RPC.Лучшим решением было бы разработать собственные строительные леса: D.Что вы думаете об этом?

Ответы [ 4 ]

1 голос
/ 21 января 2011

ты разработал свои собственные леса .. вот что я сделал.Вот мой поток DB-> JPA -> Entity Beans -> Мой собственный класс преобразователя -> BaseModel

В моем приложении BaseModel служит DTO.В сервисе GWT RPC я конвертирую BaseModel в Entity Bean и Entity Bean в BaseModel по мере необходимости.

- Zawoad

0 голосов
/ 30 сентября 2014

Я использовал MyBatis с GWT, и я был удовлетворен, потому что MyBatis использует только POJO, так что объекты легко передаются между клиентом и сервером (больше не DAO, DTO).Вы можете использовать аннотацию MyBatis, если вам не нравится писать картографы XML, мне нравится ее простота.Поэтому я рекомендую MyBatis

0 голосов
/ 03 ноября 2011

Кто-нибудь пытался использовать динамические модели hibernate, похоже, вы должны быть в состоянии подключиться прямо к GXT BaseModel. См .: Секция Dymanic Models Hibernate

0 голосов
/ 18 января 2011

Может быть, посмотрите на GWT RequestFactory. Это новая функция в 2.1

http://code.google.com/webtoolkit/doc/latest/DevGuideRequestFactory.html

Я лично пользуюсь Gilead, и у меня не было с этим никаких проблем, не требуется никаких серьезных настроек. Я не делаю много ленивой загрузки коллекций. Я просто разработал свои варианты использования с этой мыслью.

...