Spring JPA globally_quoted_identifiers неправильно цитирует тип столбца TEXT - PullRequest
0 голосов
/ 06 февраля 2020

Я использую свойство globally_quoted_identifiers для решения проблем зарезервированных ключевых слов, используемых для имен столбцов в приложении, которое я поддерживаю. Однако я только что столкнулся с ошибкой, когда оператор создания таблицы генерируется примерно так ...

create table `MyTable` (`id` bigint not null auto_increment, `body` `TEXT`...

Оператор создания завершается ошибкой в ​​MySQL, потому что TEXT не должен заключаться в кавычки.

Я не уверен, почему это происходит. Это не относится к другим типам столбцов: bigint, varchar et c.

Есть ли еще что-то, что мне нужно сделать, чтобы JPA правильно обрабатывал тип столбца MySQL TEXT?

Обновление: это класс данных, который демонстрирует проблему ...

@Entity
data class MyTable(
    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    val id: Long? = null,

    @Column(columnDefinition = "TEXT")
    var body: String? = null
)

В результате приведенная выше таблица создаст SQL выше, когда включена опция globally_quoted_identifiers.

1 Ответ

1 голос
/ 06 февраля 2020

Можете ли вы попробовать с приведенным ниже конфигом,

hibernate.globally_quoted_identifiers = true hibernate.globally_quoted_identifiers_skip_column_definitions = true

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...