2013-02-20 70 views
0

我已经继承了一个应用程序,我试图让本地运行在jboss 5.1上。该应用程序使用hibernate,我们正在使用Oracle 11g作为我们的数据库。Jboss 5.1,休眠,使用Oracle8gDialect当我指定Oracle10gDialect

当我启动应用程序,我得到这个错误:

javax.persistence.PersistenceException: org.hibernate.HibernateException: Problem while trying to load or access OracleTypes.CURSOR value 

与此错误:

Caused by: java.lang.IllegalAccessException: Class org.hibernate.dialect.Oracle8iDialect can not access a member of class oracle.jdbc.driver.OracleTypes with modifiers "" 

在我的persistence.xml文件我设置这样的:

<persistence-unit name="DomainPU"> 
    <jta-data-source>java:/AuthorizationDS</jta-data-source> 
    <properties> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/> 
    </properties> 
</persistence-unit> 

任何建议是什么导致这些错误,以及如何解决它们?我甚至不知道在这一点上应该尝试什么。

+0

您使用的是什么版本的Oracle驱动程序?确保你没有使用旧的或已弃用的版本。 – Toni 2013-02-20 19:16:40

+0

我正在使用ojdbc6.jar – Catfish 2013-02-20 19:17:16

+0

我没有遇到这个错误,但它看起来像是oracle jdbc驱动程序版本的问题。您是否尝试过使用ojdbc14(对于Oracle 10g:http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-10201-088211.html)。看看这个帖子以及:https://forums.oracle.com/forums/thread.jspa?messageID=3190796 – Toni 2013-02-20 19:25:00

回答

0

我最终在SVN回购中发现了一个jboss版本,从我可以告诉它,它看起来像它可能有一个hibernate的升级版本。