Con Hibernate como proveedor de JPA 1.0, puede escapar de una palabra clave reservada encerrándola entre comillas graves:
@Column(name="`open`")
Esta es la sintaxis heredada de Hiberate Core:
5.4. Identificadores entrecomillados de SQL
Puede obligar a Hibernate a citar un identificador en el SQL generado encerrando el nombre de la tabla o columna entre comillas invertidas en el documento de mapeo. Hibernate usará el estilo de comillas correcto para el dialecto SQL. Normalmente son comillas dobles, pero SQL Server usa corchetes y MySQL usa comillas invertidas.
<class name="LineItem" table="`Line Item`">
<id name="id" column="`Item Id`"/><generator class="assigned"/></id>
<property name="itemNumber" column="`Item #`"/>
...
</class>
En JPA 2.0, la sintaxis está estandarizada y se convierte en:
@Column(name="\"open\"")
Referencias
- Guía de referencia de Hibernate
- 5.4. Identificadores entrecomillados de SQL
- Especificación JPA 2.0
- 2.13 Denominación de los objetos de la base de datos
Preguntas relacionadas
- Hibernate, MySQL y tabla llamada "Repetir" - comportamiento extraño
- Escape automático de palabras reservadas para tablas y columnas de Hibernate