Сделать hibernate backquote всеми именами таблиц/столбцов

Я столкнулся с устаревшей системой, написанной для работы с MySQL 5.0, и теперь мне нужно перенести ее на MysQL 5.5 (требование). Я обнаружил, что один столбец был назван maxvalue, который, похоже, является системным словом в MySQL 5.5. Таким образом, все мои запросы Hibernate, которые включают этот столбец, дают синтаксическую ошибку:

Причина: java.sql.BatchUpdateException: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса, чтобы использовать около 'maxvalue

Кажется, что Hibernate не делает автоматически, а заключает в кавычки `вокруг имени поля. Если я извлекаю запрос, в `maxvalue` он работает правильно в MySQL 5.5.

Я нашел решение, как явно использовать обратные кавычки для конкретного поля/таблицы. Дело в том, что я не уверен, сколько других имен столбцов создаст такую проблему. Есть ли способ заставить Hibernate автоматически заключать в кавычки все имена таблиц/столбцов? (который выдаст действительный SQL, и я не знаю, почему он не делает этого по умолчанию для MySQL).

РЕДАКТИРОВАТЬ: Эта дискуссия почти заставляет меня поверить, что то, что я хочу, невозможно.

Ответ 1

Для этой цели существует недокументированное свойство. Использование,

<property name="hibernate.globally_quoted_identifiers" value="true"/>

или же

<property name="hibernate.globally_quoted_identifiers">true</property>

Ответ 2

Это свойство ведет себя по-разному в Oracle и MySQL? В моих тестах он добавляет двойные кавычки к идентификаторам в Oracle и добавляет обратные кавычки в MySQL, это правильно? Кто-нибудь знает еще официальные ответы?