我将能够在weblogic 10.3.5上使用JPA 2.1运行Hibernate。
我在weblogic-application.xml中指定了以下几行,并将jpa 2.1 API jar和其他jar一起打包在EAR中。
<wls:prefer-application-packages>
<wls:package-name>javax.persistence</wls:package-name>
</wls:prefer-application-packages>
weblogic如何在应用程序部署/启动过程中识别META-INF / persistence.xml并尝试使用Eclipse Link自动创建持久性单元。这是weblogic类加载器(应用程序类加载器的父级)试图加载持久性单元,但由于以下异常而失败的地方。
java.lang.IllegalArgumentException:接口javax.persistence.EntityManagerFactory在类加载器中不可见
非常感谢您提供任何帮助。
答案 0 :(得分:0)
您是否已在Weblogic安装中启用了JPA 2.1?
如果您参考:
https://docs.oracle.com/cd/E17904_01/web.1111/e13720/using_toplink.htm#EJBAD1309
和
https://docs.oracle.com/middleware/1213/wls/EJBAD/using_toplink.htm#EJBAD1309
您会注意到:
“作为补丁提供了对WebLogic Server中JPA 2.1的支持,因为JPA 2.1是Java平台企业版(Java EE)7的一部分。因此,在当前版本中启用JPA 2.1支持会导致WebLogic Server无法满足所有Java EE 6兼容性要求。为了保持Java EE 6兼容性,尽管标准WebLogic Server安装中已包含JPA 2.1支持所需的文件,但默认情况下未启用这些文件。”
看看@
How to Enable Java Persistence 2.0 for Weblogic 10.3.6
和
https://docs.oracle.com/cd/E17904_01/web.1111/e13720/using_toplink.htm#EJBAD1309