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,一切又开始工作了。
这不是最理想的解决方案,因为数据库升级不应该破坏应用程序,但它是恢复正常并再次 运行 的最快方法。
数据库组最近将数据库升级到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,一切又开始工作了。
这不是最理想的解决方案,因为数据库升级不应该破坏应用程序,但它是恢复正常并再次 运行 的最快方法。