Я пытаюсь использовать, каждый В спящем режиме, отображаясь для нескольких различных баз данных: H2, Oracle, MySql.
Каждая база данных имеет различный список зарезервированных слов.
Я хотел бы, в спящем режиме для автоматического выхода из зарезервированных слов.
Я знаю, что могу:
Существует ли более изящное решение?
AFAIK, Hibernate не поддерживает список зарезервированных ключевых слов (для каждой базы данных), поэтому я думаю, вам следует посмотреть на экранирование идентификатора базы данных.
Если вы используете Hibernate 3.5+, попробуйте hibernate.globally_quoted_identifiers = true
, чтобы процитировать все идентификаторы базы данных (это то, что они добавили для JPA 2.0, см. Раздел 2.13 Именование объектов базы данных спецификации для JPA способ активировать это, если вы используете JPA).
До версии 3.5 Hibernate не предлагал никаких параметров конфигурации для глобального экранирования. Реализация пользовательской NamingStrategy
для прозрачного исключения всего будет рекомендуемым способом.