适用于 Oracle 19 的 Hibernate 方言

Hibernate Dialect for Oracle 19

我们的一个数据库已升级到 Oracle 19c,现在我的应用程序无法连接到数据库

我收到以下错误。

HHH000400: Using dialect: org.hibernate.dialect.Oracle12cDialect
HHH000342: Could not obtain connection to query metadata : Unable to determine Dialect to use [name=Oracle, majorVersion=19]; user must register resolver or explicitly set 'hibernate.dialect'

我搜索了 oracle 19 的方言,但没有找到。

是否有适用于 oracle 19 的方言?

没有比 12c 更新的方言,与 19c 一起使用它会很好,但 hibernate-orm 中存在一个阻止自动检测工作的错误,请参阅:

https://hibernate.atlassian.net/browse/HHH-13184

https://hibernate.atlassian.net/browse/HHH-13609

在较新的5.4版本中已经解决,我为5.3分支打开了一个PR。

目前的解决方法是手动将方言 属性 hibernate.dialect 设置为 org.hibernate.dialect.Oracle12cDialect