Hibernate 方言中的 WebLogic ModuleException

WebLogic ModuleException on Hibernate Dialect

数据库组最近将数据库升级到Oracle12c。我目前正在使用 Hibernate 4.3.9。当我尝试部署应用程序时,WebLogic 抛出异常:

weblogic.application.ModuleException: org.hibernate.HibernateException: Unable to determine dialect to use [name=Oracle, majorVersion=12]; user must register resolver or explicitly set 'hibernate.dialect'.

HibernateUtil 有

props.setProperty("hibernate.dialect", "utilities.OracleDialectExtended");

其中 OracleDialectExtended 扩展了 Oracle10gDialect 以便将 Double 注册为浮点数。 HibernateUtil 用于设置属性而不是 hibernate.cfg.xml.

我阅读的所有内容都表明使用 Oracle10gDialect 应该没问题。事实上,当我以批处理模式(不使用 WebLogic)使用相同的设置时,我可以毫无问题地连接和使用 Oracle。

有谁知道如何解决这个问题?或者这是需要 WebLogic 管理员解决的 WebLogic 问题。

谢谢。

试试这个:

props.setProperty("hibernate.dialect","org.hibernate.dialect.OracleDialect");

只是为了跟进 - 最后我将 Hibernate 从 4.3.9 升级到 5.1.2,一切又开始工作了。

这不是最理想的解决方案,因为数据库升级不应该破坏应用程序,但它是恢复正常并再次 运行 的最快方法。