将 JPA 与我的 GWT 应用程序一起使用的最简单方法

Posted

技术标签:

【中文标题】将 JPA 与我的 GWT 应用程序一起使用的最简单方法【英文标题】:Simplest way to use JPA with my GWT application 【发布时间】:2008-12-24 17:48:55 【问题描述】:

我想创建一个使用 RPC 的简单 Google Web Toolkit 应用程序。对于持久性,我想使用 Java Persistence API 之类的东西。

这是否意味着我必须使用像 Glassfish 这样的应用服务器?还是我可以坚持使用简单的 Web 容器?

就具体库而言,我应该如何进行?顶联?休眠? ...

【问题讨论】:

【参考方案1】:

我相信 GWT RPC 是作为简单的 servlet 实现的。假设您完全可以在像 Tomcat 这样的 Web 容器中使用 JPA,并且不需要完整的 J2EE 应用服务器。

为此,您需要进行一些手动设置以简化对 PersistenceContext 的访问。 Hibernate 建议使用 ThreadLocal,我的博客上有一篇文章详细说明了我是如何为 Tomcat 做到这一点的here

【讨论】:

【参考方案2】:

我个人会推荐 Glassfish,因为它比 Tomcat 更稳定、更好地实现并且通常质量更高。我不想引发一场激烈的战争(说将 J2EE 放入 Tomcat 就像给猪涂口红一样),但我会告诉你我们如何部署所有应用程序:

我们使用 Glassfish 作为 Web 容器,TopLink 作为持久性提供程序,通常连接到 mysql 5 数据库。我们一直使用 JPA POJO,从 EJB 层到 Web 层,以及 GWT 层,通过 RPC。我们还将 Stripes 和 JSP 用于所有不需要 AJAX 功能的表示逻辑。这种方法我们从来没有遇到过任何问题,到目前为止,我们已经用这种方法完成了至少 10 个大型项目。这是我们迄今为止最好的架构,而且我们有很多(tomcat、jboss、hibernate、struts、spring 等)。

【讨论】:

如何通过 Web GWT 层使用 JPA POJOS。我有序列化问题 - 请帮助我的朋友!【参考方案3】:

您可以使用任何您喜欢的容器,我指的是 servlet 和 jpa 容器。

关键是GWT不支持jpa,所以你必须使用DTO设计parten。 这将使一切井井有条,并且您不会遇到延迟加载的问题。

【讨论】:

以上是关于将 JPA 与我的 GWT 应用程序一起使用的最简单方法的主要内容,如果未能解决你的问题,请参考以下文章

GWT 2.2 + JPA 问题

如何将文件从小程序发送到 gwt 服务器?

GWT验证i18n

GWT JPA - 无法反序列化响应

Gwt-rpc 仅使用 DAO。摆脱 DTO

Base封装--我的最简MVP架构