数据库组最近将数据库升级到Oracle12c。我目前正在使用Hibernate 4.3.9。当我尝试部署应用程序时,WebLogic会抛出异常:
weblogic.application.ModuleException:org.hibernate.HibernateException:无法确定要使用的方言[name = Oracle,majorVersion = 12];用户必须注册解析器或明确设置'hibernate.dialect'。
HibernateUtil有
props.setProperty("hibernate.dialect", "utilities.OracleDialectExtended");
OracleDialectExtended扩展Oracle10gDialect以将Double注册为float。 HibernateUtil用于设置属性而不是hibernate.cfg.xml。
我读过的所有内容都表明使用Oracle10gDialect应该没问题。实际上,当我在批处理类型模式下使用相同的设置(不使用WebLogic)时,我能够毫无问题地与Oracle连接并使用它。
有谁知道如何解决这个问题?或者这是一个需要由WebLogic管理员解决的WebLogic问题。
感谢。
答案 0 :(得分:0)
试试这个:
props.setProperty("hibernate.dialect","org.hibernate.dialect.OracleDialect");
答案 1 :(得分:0)
为了跟进 - 最后我将Hibernate从4.3.9升级到5.1.2,事情又开始了。
不是最理想的解决方案,因为数据库升级不应该破坏应用程序,但它是让事情重新开始运行的最快方法。