Самый простой способ использовать JPA с моим приложением GWT - PullRequest
1 голос
/ 24 декабря 2008

Я хотел бы создать простое приложение Google Web Toolkit, которое использует RPC. Для постоянства я хотел бы использовать что-то вроде API персистентности Java.

Значит ли это, что мне нужно использовать сервер приложений, такой как Glassfish? или я могу придерживаться простого веб-контейнера?

Что касается конкретных библиотек, как мне поступить? TopLink? Hibernate? ...

Ответы [ 3 ]

3 голосов
/ 24 декабря 2008

Я полагаю, что GWT RPC реализован в виде простых сервлетов. Предполагая, что вы полностью можете использовать JPA в веб-контейнере, таком как Tomcat, и вам не нужен полноценный сервер приложений J2EE.

Для этого вам нужно будет выполнить небольшую ручную настройку, чтобы упростить доступ к PersistenceContext. Hibernate предлагает использовать ThreadLocal, и у меня есть запись в моем блоге, которая подробно описывает, как я это сделал для Tomcat здесь

2 голосов
/ 25 декабря 2008

Я бы лично порекомендовал Glassfish, поскольку он более стабилен, лучше реализован и в целом более высокого качества, чем Tomcat. Я не хочу начинать войну пламенем (говоря, что помещать J2EE в Tomcat - это все равно что помадить помаду), но я расскажу вам, как мы развернем все наши приложения:

Мы используем Glassfish в качестве веб-контейнера, TopLink в качестве поставщика сохраняемости, обычно подключенного к базе данных MySQL 5. Мы используем JPA POJO на всем пути от уровня EJB, через веб-уровень, а также уровень GWT через RPC. Мы также используем Stripes и JSP для всей логики представления, которая не требует функциональности AJAX. У нас никогда не было проблем с этим подходом, и мы до сих пор реализовали как минимум 10 крупных проектов. Это лучшая архитектура, которая была у нас на сегодняшний день, и у нас было много (tomcat, jboss, hibernate, стойки, весна, и т. Д., И т. Д.).

1 голос
/ 23 января 2009

Вы можете использовать любой контейнер, который вам нравится, я имею в виду контейнеры сервлетов и jpa.

Ключевым моментом является то, что GWT не поддерживает jpa, поэтому вы должны использовать DTO design parten. Это будет держать все в порядке, и у вас не будет проблем с отложенной загрузкой.

...