覆盖 IBM WAS 的 JPA

Override JPA of IBM WAS

我在我的项目中使用 JPA 2.1 (Hibernate 5.x) 并在 IBM WAS 8.5.5 中部署。

由于 IBM WAS 8.5.5 仅支持容器的 JPA 2.0,因此在应用程序部署期间存在持久性加载器问题。

是否可以在 WAS 中的应用级别配置自定义 JPA。

我已经试过了 - IBM WAS Documentation

您说您尝试了 https://developer.ibm.com/wasdev/docs/can-i-use-jpa-2-1-on-websphere-application-server/,但是此文档的哪一部分不起作用?如果您尝试在 8.5.5.

上获取 JPA 2.1 运行,我将参考此页面

一些替代建议:

  1. 传统的WebSphere v9 支持JPA 2.1 规范级别。如果您确实需要使用 Hibernate 5.x
  2. ,我建议您为您的项目使用 WebSphere v9 而不是 8.5.5
  3. Hibernate 4.2 是最后一个支持 JPA 2.0 的版本。如果您不必使用 JPA 2.1
  4. ,则可以降级到此版本的 Hibernate

这些解决方案中的任何一个都会为您提供容器支持,并将为您提供 JPA API 包。无论您选择哪种方式,请确保不要将 Hibernate JPA 持久性 API 捆绑包捆绑到您的应用程序中。 Hibernate 将其 API 重新打包为 "hibernate-jpa-2.x-api.Final.jar"。我之前将此视为客户在其应用程序中构建的冲突。

使用 class 加载策略,我能够覆盖容器的 JPA 2.0。

使用来自 IBM Developers support 的输入。