Com o Hibernate como provedor JPA 1.0, você pode escapar de uma palavra-chave reservada colocando-a entre acentos graves:
@Column(name="`open`")
Esta é a sintaxe herdada do Hiberate Core:
5.4. Identificadores SQL entre aspas
Você pode forçar o Hibernate a citar um identificador no SQL gerado colocando o nome da tabela ou coluna entre os acentos no documento de mapeamento.
<class name="LineItem" table="`Line Item`"> <id name="id" column="`Item Id`"/><generator class="assigned"/></id> <property name="itemNumber" column="`Item #`"/> ... </class>
No JPA 2.0, a sintaxe é padronizada e se torna:
@Column(name="\"open\"")
Referências
- Guia de referência do Hibernate
- 5.4. Identificadores entre aspas do SQL
- Especificação JPA 2.0
- 2.13 Nomenclatura de objetos de banco de dados
Perguntas relacionadas
- Hibernate, MySQL e tabela chamada “Repeat” - comportamento estranho
- Escape automático de palavras reservadas para tabelas e colunas do Hibernate