С Hibernate като доставчик на JPA 1.0 можете да избегнете запазена ключова дума, като я затворите в обратна връзка:
@Column(name="`open`")
Това е синтаксисът, наследен от Hiberate Core:
5.4. SQL идентификатори
Можете да принудите Hibernate да цитира идентификатор в генерирания SQL, като включите обратните отметки на името на таблицата или колоната в документа за съпоставяне. Hibernate ще използва правилния стил на цитиране за SQL диалекта. Това обикновено е двойни кавички, но SQL Server използва скоби и MySQLuses backtick.
<class name="LineItem" table="`Line Item`"> <id name="id" column="`Item Id`"/><generator class="assigned"/></id> <property name="itemNumber" column="`Item #`"/> ... </class>
В JPA 2.0 синтаксисът е стандартизиран и става:
@Column(name="\"open\"")
Препратки
- Справочно ръководство за хибернация
- 5.4. SQL идентификатори
- Спецификация на JPA 2.0
- 2.13 Именуване на обекти в базата данни
Свързани въпроси
- Хибернация, MySQL и таблица с име „Repeat“ – странно поведение
- Автоматично екраниране на запазена дума за таблици и колони в режим на хибернация