Я использую свойство 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.