È necessario eseguire l'escape del nome della tabella quando si utilizzano parole chiave riservate. In JPA 1.0, non esiste un modo standardizzato e la soluzione specifica di Hibernate consiste nell'utilizzare i backtick:
@Entity
@Table(name="`User`")
public class User {
...
}
In JPA 2.0, la sintassi standardizzata è simile alla seguente:
@Entity
@Table(name="\"User\"")
public class User {
...
}
Riferimenti
- Documentazione di Sospensione Core
- 5.4. Identificatori tra virgolette SQL
- Specifica JPA 2.0
- 2.13 Denominazione degli oggetti del database