2013-02-20 20 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的升級版本。