我们正在将oracle从11g升级到12c。我的应用程序使用的是hibernate3.jar
,即3.6.8-最终版本。使用Oracle10gDialect
使用11g可以很好地工作但是当我连接到12c数据库时,我得到以下错误。我还将classes12.jar更改为ojdbc7.jar。
调用init方法失败;嵌套异常是 org.hibernate.HibernateException:无法确定要使用的Dialect [name = Oracle,majorVersion = 12];用户必须注册解析器或 明确设置'hibernate.dialect'
我尝试降级到3.1.1
并升级到3.6.10-Final
。在3.6.8
下面我的代码不会编译,因为之前没有Oracle10gDialect类。甚至3.6.10-final
版本也给了我同样的错误。我无法升级到Hibernate 4.任何建议都会有很大的帮助。谢谢。
答案 0 :(得分:0)
如果我没记错的话,您需要明确声明要使用的方言。我认为我们做了一个JVM选项-Dhibernate.dialect=org.hibernate.dialect.Oracle10gDialect
,或者我们在domain.xml
中添加了一个配置(如果您使用的是Glassfish)hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
。希望这会有所帮助。