java - 具有 JPA 配置的 Glassfish 3

标签 java jakarta-ee jpa glassfish eclipselink

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

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

最佳答案

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

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

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

  4. 您可以使用 this page 中描述的持久性单元。 (“Java SE 环境中的典型配置”)。但我宁愿建议你使用 <jta-data-source>相反,它指的是 datasource provided by GlassFish .

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

关于java - 具有 JPA 配置的 Glassfish 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12597417/

相关文章:

java - 如何从父类(super class)继承接口(interface)

java - 使用 GSON 解析 JSON 文件

jakarta-ee - 基于表单的身份验证,但在 Java EE 6 中使用自定义身份验证方法

JSF2 i18n bean 验证消息

mysql - Java EE/JPA 向数据库添加新表/实体的方法

websphere - 如何建立上下文并从 Sun JRE(而非 IBM)调用 WebSphere EJB

java - 如何更新方法以在按下按钮后从文本观察器返回更新的信息

eclipse - 当代码的某些部分发生变化时,是否有任何工具可以自动重建项目?

java - 如何在 Jpa 存储库中编写 Sql 查询?

java - JPA:无法使 OrderBy 工作