我们使用Oracle Weblogic Server 10.3.6。它在运行时在类路径中包含OpenJPA和EclipseLink。我们在commenv.cmd中使用以下行激活JPA2:
set PRE_CLASSPATH=BEA_HOME\modules\javax.persistence_1.1.0.0_2-0.jar;
%BEA_HOME%\modules\com.oracle.jpa2support_1.0.0.0_2-1.jar
当我们使用validator.validate()进行Bean验证时,有以下abstractMethodError:org.apache.openjpa.persistence.persistenceProviderImpl.getProviderUtil()ljavax/persistence/spi/providerUtil;
如果我们配置javax.persistence_1.0.0.0_1-0-2.jar而不是javax.persistence_1.1.0.02-0.jar,那么它可以工作,但我们需要2.0。而且很明显,验证提供程序使用OpenJPA,但它应该使用EclipseLink。
在开发时,我们使用Hibernate验证器。但是哪个验证提供程序使用Weblogic?验证提供程序如何强制使用Eclipselink作为持久性提供程序?错误信息是什么意思?
这里的解决方案是:在某些情况下,Weblogic在类路径中有多个持久性提供程序。在我的例子中,基于JPA1的OpenJPA和基于JPA2的EclipseLink(收藏夹)。Hibernate验证器使用来自指示的API包的持久性类的逻辑来获取持久性提供程序。该实现调用了该持久性提供程序上的一个方法,该方法首先被找到-在我的例子中,首先被找到OpenJPA。当hibernate验证器使用JPA1-API并在基于JPA1的OpenJPA上调用方法时,一切都很顺利。但是当它使用JPA2-API并在旧的OpenJPA上调用方法时,就有AbstractMethodError了,因为该方法是JPA2以来的新方法。为了解决这个问题,我必须将eclipselink.jar添加到pre-classpath中。那么Eclipselink总是第一个找到的持久性提供程序,并且一切都很顺利。API和实现匹配。
set PRE_CLASSPATH=BEA_HOME\modules\javax.persistence_1.1.0.0_2-0.jar;
%BEA_HOME%\modules\com.oracle.jpa2support_1.0.0.0_2-1.jar;
%BEA_HOME%\modules\org.eclipse.persistence_1.2.0.0_2-3.jar;
StackOverflow上已经有很多关于这个错误消息的问题,但我找不到解决方案... 错误是: 严重:映射到响应的异常:500(内部服务器错误) 我的persistence.xml是: 它由这行调用(这行没有错误): 我的persistence.xml位于Project Explorer中的JPA内容下: CreateEntityManagerFactory是: 更新:JPAFactory(在c
问题内容: Hibernate 5.1.1和5.2.2之间发生了什么变化?如果我使用5.2.2,则会收到错误消息“名为pu的EntityManager没有持久性提供程序”。完全相同的配置适用于5.1.1。我应该如何更改代码以使5.2.2正常工作? pom.xml src / main / resources / META-INF中的persistence.xml 创建EntityManager 问
问题内容: 我试图通过遵循Hibernate EntityManager 文档中的信息来建立一个简单的jpa 2.0项目。我已经花了几个小时了,但是无论我做什么,当我尝试创建EntityManagerFactory时总是会遇到此异常: 关于此异常,我发现了很多类似的问题,但是没有能够解决的解决方案。我在这里做错了什么? 目录结构 我的 persistence.xml 我的 pom.xml User
我正在使用JPA和Hibernate开发一个Swing应用程序。但每次我尝试调用以下代码以获取 我得到以下异常: 和 是 依赖关系: 除 junit 之外的所有依赖项都在类路径中
问题内容: 可以使用hibernate作为Glassfish的持久性提供程序吗? 问题答案: 虽然我不是Glassfish或Hibernate的专家,但我认为您可能会发现这很有趣:在Glassfish中使用Hibernate的说明
我根本无法解决这个问题,而且有大量的堆栈溢出帖子都带有相同的错误消息。我都试过了,但还是没能成功。也许我在寻找一些小东西。我真的需要帮助,提前谢谢你。 错误消息 这是persistence.xml文件 EntityManagerFactory