Hibernate Диалект для 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'

Я искал диалект для оракула 19, но не мог найти.

Есть ли доступный диалект для оракула 19?

2 ответа

Нет более нового диалекта, чем 12c, и его можно было бы использовать с 19c, но в hibernate-orm была ошибка, которая мешает работе автоматического обнаружения, см.

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

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

Это уже решено в новых версиях 5.4, и я открыл PR для ветки 5.3.

Обходной путь на данный момент - вручную установить свойство диалекта. hibernate.dialect к org.hibernate.dialect.Oracle12cDialect.

Обратите внимание, что автоопределение изменилось в Hibernate 6, см. руководство по миграции .

В результате диалекты, специфичные для конкретной версии (например,org.hibernate.dialect.Oracle12cDialect) больше не следует использовать. Используйте этот диалектorg.hibernate.dialect.OracleDialectвместо этого и игнорируйте его устаревшие подклассы:

Другие вопросы по тегам