兼容性问题:旧的jboss / hibernate与Oracle 12c

时间:2016-02-06 16:49:01

标签: java oracle hibernate jboss oracle12c

我是Oracle-DBA尝试将Oracle-11g数据库升级到Oracle-12c。我们的Web开发人员告诉我,将旧的应用程序(其中很多是使用旧的JBOSS 4.2.2和旧的Hibernate 3.4.0 / 3.1.0开发)到新的Oracle数据库(12c)有一​​个大问题。 )

我们的开发人员向我发送此信息:

**应用:

seam-version - > 2.2.2.Final

hibernate-annotations-version - > 3.4.0.GA

hibernate-validator-version - > 3.1.0.GA

jsf-facelets-version - > 1.1.14

rich-faces-version - > 3.3.3.Final

als Dependency:适用于Compilieren的hibernate-core版本3.3.0.SP1。

OracleDialect:org.hibernate.dialect.Oracle10gDialect

JBOSS 4.2.2.GA

Hibernate-Version:3.2.4.sp1

Hibernate Annotations版本:3.2.1.GA

Hibernate EntityManager版本:3.2.1.GA

适用于11g的Oracle JDBC驱动程序 - ojdbc14

适用于12c的Oracle JDBC驱动程序 - ojdbc6

所以,如果你调用一个程序XXXXXXXXX(o_res out sys_refcursor,p_yyyyy IN NUMBER,....) 它抛出了这个问题:

.... 信息|引起:org.hibernate.HibernateException:尝试加载或访问OracleTypes.CURSOR值时出现问题 ..................... 信息|引起:java.lang.IllegalAccessException:类org.hibernate.dialect.Oracle9Dialect无法使用修饰符“”访问类oracle.jdbc.driver.OracleTypes的成员 错误:https://hibernate.atlassian.net/browse/HHH-3159

虽然,根据这个链接我们应该在使用Oracle-11g时遇到问题,而不是在尝试升级到12c时! (“对于Oracle 11g,不推荐使用的包oracle.jdbc.driver不再存在,这导致所有OracleDialect类都出现问题,导致无法使用Hibernate。”(с))

这里可以读到: “尝试使用org.hibernate.dialect.Oracle10gDialect,似乎是Hibernate 4.3.9中最高的版本。 12c的方言似乎出现在以后的版本中,请看这个。“ (我们甚至有一个旧版本的Hibernate - 3.2.4!)

更新的Hibernate(> 3.2.4),如果我做对了,就不能与旧的Jboss 4.2.2兼容。 (是吗?!如果可以的话,请不要同意我(=与我的同事)

进行12c-Oracle升级的正确决策或解决方法是什么?

非常感谢你!

0 个答案:

没有答案