gpt4 book ai didi

java - 在 oracle 主要版本 11 上具有 HibernateException 的 JBOSS 部署

转载 作者:搜寻专家 更新时间:2023-11-01 01:36:17 25 4
gpt4 key购买 nike

尝试在 JBoss-4.2.3.GA 中使用以下设置部署应用程序 ear 文件

jboss-app.xml

<jboss-app>
<loader-repository>
com.xxxx.xxx:loader=<ear-name>
<loader-repository-config>
java2ParentDelegation=false
</loader-repository-config>
</loader-repository>
</jboss-app>

persistence.xml(只是一个片段)

<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
<property name="hibernate.hbm2ddl.auto" value="validate"/>
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.format_sql" value="false"/>
<property name="jboss.entity.manager.factory.jndi.name" value="java:/XXXXFactory"/>

在部署期间得到了以下记录器信息,我不确定为什么在 INFO 记录器中列出了异常,我可以不理会这个吗?

16:30:07,239 INFO  [STDOUT] 16:30:07,238 INFO  [SettingsFactory] JDBC driver: Oracle JDBC driver, version: 11.2.0.3.0
javax.ejb.EJBException: org.hibernate.HibernateException: unknown Oracle major version [11]
at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)


Caused by: org.hibernate.HibernateException: unknown Oracle major version [11]
at org.hibernate.dialect.DialectFactory$1.getDialectClass(DialectFactory.java:135)
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:65)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)

注意:我们使用的是 JBoss-Seam-2.2.0.GA

已尝试:this , thisthat

如果需要任何其他信息,请告诉我,我正在尝试将 jboss 中可用的库拉回耳朵。

更新:尝试

  1. 发现该应用程序使用了 2 个不同的 session 并且
    还有一个 hibernate.cfg.xml 也用于另一个遗留代码,那里里面没有指定方言。
  2. 因此将 Oracle10g 方言添加到cfg.xml,它停止抛出上面提到的未知 oracle版本错误,但由于无法加载10g方言。
  3. 美妙的是两个 session 都指向同一个数据源。

最佳答案

尝试添加

hibernate.dialect=org.hibernate.dialect.Oracle10gDialect

也到 JBoss/server/default/deploy/ejb3.deployer/META-INF/persistence.properties

它适用于 JBoss-4.2.3.GA 的捆绑 Hibernate 3.2.4.sp1 和 ojdbc5 11.1.0.6.0(均在 JBoss 全局库中)。

更新

还要重新检查旧版本的 hibernate 是否存在于类路径中的某处。

JBoss-Seam-2.2.0.GA 分发包 hibernate 3.3.1.GA 而 Hibernate dialect for Oracle Database 11g?建议至少 最新的 JDBC 驱动程序需要 Hibernate 3.3.2+

JBoss-4.2.3.GA 的捆绑 Hibernate 3.2.4.sp1 可能有一些现代员工向后移植。

关于java - 在 oracle 主要版本 11 上具有 HibernateException 的 JBOSS 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12486722/

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