Ошибка проверки Hibernate: обнаружено [bpchar (Types#CHAR)], но ожидается [char(2) (Types#VARCHAR)]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Ошибка проверки Hibernate: обнаружено [bpchar (Types#CHAR)], но ожидается [char(2) (Types#VARCHAR)]

Сообщение Anonymous »

Я обнаружил очень странное поведение проверки схемы Hibernate для базы данных PostgreSQL:
  • Я создал столбец:

    Код: Выделить всё

     ALTER TABLE Country ADD code CHAR(2) NOT NULL DEFAULT 'US'
    
  • Я добавил сопоставление:

    Код: Выделить всё

     @Column(nullable = false, columnDefinition = "CHAR(2)")
    private String country;
    
  • И теперь я получаю эту странную ошибку:

    Код: Выделить всё

      Schema-validation: wrong column type encountered in column [code] in table [Country]; found [bpchar (Types#CHAR)], but expecting [char(2) (Types#VARCHAR)]
    
В MySQL это работает без проблем.
По какой-то странной причине Hibernate считывает определение столбца CHAR(2) как ожидание VARCHAR. Это кажется явно неправильным, но, возможно, я что-то упускаю.
Есть ли способ вызвать правильное поведение Hibernate (чтобы он правильно проверял схему, как в случае с MySQL)? Есть ли обходной путь, который позволил бы отключить проверку для определенного столбца/класса?
Эта проблема аналогична проблеме Quarkus с найденным спящим режимом [bpchar (Types#CHAR)], но с ожиданием [char (Types#VARCHAR)], но на этот раз проблема связана с PostgreSQL, и из-за правильного поведения MySQL я подозреваю, что что-то было исправлено на стороне Hibernate, поскольку этот вопрос был задан.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ting-char2
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»