0

我在独立应用程序中使用了 JPA 和 Hibernate,但现在我想尝试使用应用程序服务器。我知道 GlassFish 为 JPA 提供了 EclipseLink 实现,但我有几个问题。

  1. 我是否需要在persistence.xmlEclipseLink 中指定我的持久性单元的提供者?
  2. persistence.xml看起来是否与未部署应用程序相同?如果它看起来不一样,它看起来如何?
  3. 我是否需要专门下载 EclipseLink 的实现 jar 并使用它们进行构建,或者容器是否在我的应用程序部署后处理这个问题?
  4. 如何在 中指定 jdbc 驱动程序persistence.xml
  5. 我的应用程序是否需要部署为.ear
4

1 回答 1

2
  1. 您不需要指定持久性提供程序,默认情况下将使用包含在您的应用程序服务器中的提供程序(当然,如果它至少具有 Web 配置文件,否则诸如 Tomcat 之类的服务器不会为您提供 EclipseLink)。

  2. 是的,它将具有相同的外观(在两个应用程序中,您只是以相同的方式使用 JPA)。

  3. 要编译您的代码,您只需要在类路径中包含 persistence-api.jar(如果您使用 Maven,请将范围设置为“已提供”)。然后服务器会自动提供它的实现jar。

  4. 您可以使用本页中描述的持久性单元(“Java SE 环境中的典型配置”)。但我宁愿建议您改用 a <jta-data-source>,它指的是GlassFish 提供的数据源

  5. 据我所知,它也可以是 WAR 文件,部署它没有任何问题(webapp 作为 Maven WAR 模块 + JAR 模块中的 bean)。

于 2012-09-26T09:39:27.923 回答