gpt4 book ai didi

java - 部署到 websphere 时在 hibernate 5 上使用 JPA 2.0

转载 作者:行者123 更新时间:2023-12-02 11:39:14 25 4
gpt4 key购买 nike

当我尝试在 Websphere Application Server 9.0 上部署应用程序时,出现此错误

An error occurred in the org.hibernate.jpa.HibernatePersistenceProvider persistence provider when it attempted to create the container entity manager factory for the ApplicationEntityManager persistence unit. The following error occurred: java.lang.ClassCastException: org.hibernate.jpa.HibernatePersistenceProvider incompatible with javax.persistence.spi.PersistenceProvider

有人建议我将 JPA 降级到 2.0。是否可以将 JPA 2.0 与 Hibernate 5.2.1 一起使用?或者有其他解决方案可以解决我的问题。

最佳答案

如果使用传统的 WebSphere Application Server,以下是设置服务器提供的 JPA 规范级别的说明, https://www.ibm.com/support/knowledgecenter/en/SSEQTP_9.0.0/com.ibm.websphere.base.doc/ae/tejb_idmod_jpaspec.html

也就是说,Hibernate 5.2.1 似乎依赖于 JPA 2.1,而不是 2.0。请参阅此处指示的依赖项, https://mvnrepository.com/artifact/org.hibernate/hibernate-core/5.2.1.Final

该问题可能是由于在应用程序中包含 JPA 规范 JAR 的副本导致的,这样服务器和应用程序就会尝试加载同一类的不同副本,从而发生冲突并产生此错误。检查您的应用程序并从中删除 JPA 规范 JAR 的所有副本(包括 Hibernate 提供的任何副本),以便始终仅使用服务器副本来加载 JPA。

关于java - 部署到 websphere 时在 hibernate 5 上使用 JPA 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48698756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com