Con Hibernate come provider JPA 1.0, puoi evitare una parola chiave riservata racchiudendola all'interno di backtick:
@Column(name="`open`")
Questa è la sintassi ereditata da Hiberate Core:
5.4. Identificatori tra virgolette SQL
Puoi forzare Hibernate a citare un identificatore nell'SQL generato racchiudendo il nome della tabella o della colonna tra parentesi nel documento di mappatura. Hibernate utilizzerà lo stile di virgolette corretto per il dialetto SQL. Di solito si tratta di virgolette doppie, ma SQL Server utilizza parentesi e MySQL utilizza le apici inverse.
<class name="LineItem" table="`Line Item`">
<id name="id" column="`Item Id`"/><generator class="assigned"/></id>
<property name="itemNumber" column="`Item #`"/>
...
</class>
In JPA 2.0, la sintassi è standardizzata e diventa:
@Column(name="\"open\"")
Riferimenti
- Guida di riferimento all'ibernazione
- 5.4. Identificatori tra virgolette SQL
- Specifica JPA 2.0
- 2.13 Denominazione degli oggetti del database
Domande correlate
- Sospensione, MySQL e tabella denominata "Ripeti" - comportamento strano
- Escaping automatico delle parole riservate per le tabelle e le colonne di sospensione