当前位置: 首页 > 知识库问答 >
问题:

WebLogic 12c(12.2.1.4)与Hibernate 5.4

张俊茂
2023-03-14

我使用Hibernate 5.2.18在WebLogic 12c(12.2.1.4)上部署了一个应用程序。Weblogic 12c文档引用JPA 2.1兼容性,Hibernate 5.3需要JPA 2.2。我可以在启动类路径中预先添加JPA 2.2 API并使用Hibernate 5.3吗?还是应该暂时使用Hibernate 5.2?

共有1个答案

董新觉
2023-03-14

是的,此配置是可能的。

要避免与WebLogic内置JPA功能发生冲突,应执行以下操作:

  1. 根据这个

在完整的Java EE环境中,考虑从JNDI获取您的EntityManagerFactory。或者,在您的LocalContainerEntityManagerFactoryBean定义(例如,META-INF/my persistence.xml)上指定一个自定义的persistenceXmlLocation,并在应用程序jar文件中仅包含一个具有该名称的描述符。因为Java EE服务器只查找默认的META-INF/persistence。xml文件,它会忽略此类自定义持久化单元,因此避免了与Spring驱动的JPA设置的冲突。

您可以在spring上下文配置中使用类似的内容。

<?xml version="1.0" encoding="UTF-8"?>
<beans>
    <!-- ... -->
    <jee:jndi-lookup id="DS" jndi-name="appDS" />
    <bean id="emf" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
       <property name="persistenceXmlLocation" value="classpath:META-INF/app-persistence.xml" />
       <property name="dataSource" ref="DS" />
    </bean>
    <!-- ... -->
</beans>

要配置FilteringClassLoader指定从应用程序加载某个包,请向weblogic应用程序添加首选应用程序包描述符元素。xml,详细说明要从应用程序加载的包的列表。

您应该将以下代码段添加到您的META-INF/weblogic-application.xml

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application>
    <prefer-application-packages>
        <!-- ... -->
        <package-name>javax.persistence.*</package-name>
    </prefer-application-packages>
</weblogic-application>
 类似资料:
  • 我正在使用下面的命令检查12C中Weblogic服务器的状态,该命令在10.x Weblogic中正常工作 java weblogic.admin-URL t3:/$IP:$端口getstate-username$username-password$password 我将类路径设置如下导出classpath=$WL_HOME/server/lib/weblogic.jar

  • 我有这个问题,一个应用程序耳朵有这个错误,我是一个weblogic12c的新管理员,有人帮助我吗??? 这是一个标准安装Weblogic 12c

  • 我在eclipse中使用“Jersey”原型开发了一个非常小的restful Web服务,并且在Tomcat中成功地部署了该服务。但是,我无法在WebLogic12c中部署它。这是我到目前为止所尝试的: 创建了一个包含泽西岛图书馆的共享库,正如我在其中一篇文章中看到的。这是我的pom.xml,它生成包含所需清单文件的共享库: 块引号 在我的webservice应用程序中的WEB-INF文件夹下添加

  • 同时在WebLogic12c中部署应用程序。我有个例外。我是weblogic12c的新手。有什么建议吗??

  • 我有一个带有restful web服务API的web应用程序。该应用程序现在已经开发完成,并且可以在Glassfish服务器(3.1.x)上完美地工作。 作为jax-rs的实现,webapp使用REST-Easy,因为它提供的特性在Jersey中是不存在的。 现在,有必要在WebLogic12c中部署Web应用程序,特别是在WebLogic12.1.2中。但似乎不可能这样做。Weblogic将Je

  • 我们公司让我们从Oracle WebLogic 12.1.3升级到12.2.1.4,因为12.1.3失去支持/即将失去支持。 我们有一个主要的应用程序,它使用Spring Framework v3.0.2。当我们将EAR部署到12.2.1.4并尝试使用任何web服务时,我们会得到这个错误堆栈跟踪。我已经删除了使用通用名称指定我们公司的名称,但您应该能够了解发生的事情的要点: 2021-06-02