Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee WebLogicServer10.3.6中的JPA2.0_Jakarta Ee_Jpa_Weblogic_Jpa 2.0_Eclipselink - Fatal编程技术网

Jakarta ee WebLogicServer10.3.6中的JPA2.0

Jakarta ee WebLogicServer10.3.6中的JPA2.0,jakarta-ee,jpa,weblogic,jpa-2.0,eclipselink,Jakarta Ee,Jpa,Weblogic,Jpa 2.0,Eclipselink,我需要使用JPA2.0(带有EclipseLink实现)。问题是,我还需要在WebLogic 10.3.6服务器上部署这个应用程序,它实现了JavaEE5规范,因此不需要支持JPA2 我知道有,但系统管理员根本不想更改服务器中的任何内容 我尝试将javax.persistence-2.1.0.jar文件添加到我的war中,认为我的应用程序只会使用这个文件,而不是WebLogic提供的文件。这有什么意义吗?有没有一种方法可以在不干扰服务器的情况下实现这一点?早期版本不支持这种方法,但在10.3.6

我需要使用JPA2.0(带有EclipseLink实现)。问题是,我还需要在WebLogic 10.3.6服务器上部署这个应用程序,它实现了JavaEE5规范,因此不需要支持JPA2

我知道有,但系统管理员根本不想更改服务器中的任何内容


我尝试将javax.persistence-2.1.0.jar文件添加到我的war中,认为我的应用程序只会使用这个文件,而不是WebLogic提供的文件。这有什么意义吗?有没有一种方法可以在不干扰服务器的情况下实现这一点?

早期版本不支持这种方法,但在10.3.6中,您应该能够使用自己的JPA2库。如果与类名一起使用,则应该能够覆盖weblogic类链加载,而weblogic通常加载JPA时,它将使用支持JPA-2.0的库

在我看来,需要覆盖的类名是org.eclipse.persistence.*和javax.persistence.**


(请注意,如果有其他人尝试此操作,则此操作在10.3.5以下的任何程序上都不起作用)。

您认为“重写类名”是什么意思?我尝试创建一个weblogic.xml文件,并使用org.eclipse.persistence.*和javax.persistence.*的首选应用程序包,但这会引发以下异常:“实例化PersistenceUnit pu:java.lang.ClassCastException:org.eclipse.Persistence.jpa.PersistenceProvider的持久性提供程序类org.eclipse.Persistence.jpa.PersistenceProvider时出错”您是否已将Persistence.xml文件设置为使用正确的[new]持久性提供程序?在我自己遇到这个问题后,似乎不支持JPA 2.1。我能够让服务器识别Eclipselink 2.5.1,但我永远无法覆盖JPA(2.0)的服务器版本。可能您需要在web应用程序中降级JPA。您了解全部情况吗?