Рассмотрим запрос
INSERT INTO order (id, key, value) VALUES (?, ?, ?);
В приведенном выше запросе есть синтаксические ошибки MySQL, поскольку order
и key
являются ключевыми словами в MySQL.Таким образом, решение было бы добавить обратные пометки в запросе.
INSERT INTO `order` (id, `key`, value) VALUES (?, ?, ?);
Hibernate достаточно глуп, чтобы сделать это автоматически.Согласно этот ответ путем добавления следующего свойства в файл конфигурации hibernate решает проблему с именем таблицы.
<property name="hibernate.globally_quoted_identifiers">true</property>
Но это только добавляет обратные метки к имени базы данных и имени таблицы,Проблема все еще существует с именем столбца.
Как добавить обратные метки ко всем именам столбцов?
- Версия Hibernate: 3.6.10.Final
- Версия MySQL: 5.7
- hibernate.dialect: org.hibernate.dialect.MySQL5Dialect
- Версия JDK: 1.8 (если это должноделать с чем угодно)