Диалект гибернации для Oracle Database 18c?

Есть ли диалект Hibernate для Oracle Database 18c? Или мне следует использовать org.hibernate.dialect.Oracle12cDialect, который поставляется с Hibernate?

При использовании Hibernate 5.3 и Oracle 18c RAC есть ли что-нибудь особенное, о чем должно позаботиться приложение?


person Chris    schedule 15.11.2018    source источник
comment
Oracle 18c - это, по сути, 12.3 только с современной схемой именования. Так что Oracle12cDialect должен работать нормально   -  person a_horse_with_no_name    schedule 15.11.2018
comment
Это сработало для вас? У меня такая же проблема с оракулом 19   -  person NullPointerException    schedule 29.08.2019
comment
@NullPointerException да, у меня это сработало, но я не могу с уверенностью посоветовать, что это сработает для всех.   -  person Chris    schedule 05.11.2019
comment
Ошибка была в версии 5.3 и ниже. Мне пришлось обновиться до версии 5.4, чтобы это работало. Кто-то ответил мне здесь   -  person NullPointerException    schedule 05.11.2019
comment
Пробовал с Oracle12cDialect и Oracle 18 DB. Получите ошибку Could not fetch the SequenceInformation from the database. Мне помог этот stackoverflow post. Проблема с максимальным значением Oracle Sequance, слишком большим для Java Long   -  person Camille    schedule 08.10.2020


Ответы (1)


На момент написания этого комментария с последней версией Hibernate (5.4.10) в Hibernate не было официального диалекта для Oracle18.

Когда нет серьезных различий в диалекте базы данных, специальный диалект обычно не создается для него в Hibernate.

Например, я без особых проблем использовал диалект Oracle10 с Oracle11 в производственных средах. То же самое для Oracle 18, диалект Oracle12 должен работать без особых проблем.

Имейте в виду, что номера выпусков Oracle больше не нумеруются, как в прошлом, и сегодня они связаны с годом выпуска (поэтому большее число не означает, что в вашем диалекте произошли серьезные изменения).

О номерах выпусков Oracle Database: номер выпуска

В качестве комментария, если вы не используете новые функции Oracle 18, есть также возможность настроить Oracle на совместимость с определенной предыдущей версией (11 или 12 в данном случае). Однако рекомендуется не использовать эту конфигурацию, если это возможно решить с помощью специального диалекта или изменения вашего программного обеспечения.

О параметре совместимости с Oracle Database: совместимый параметр

Надеюсь, это поможет другим, ищущим то же самое.

person Ariel Carrera    schedule 27.01.2020