Vous devez échapper le nom de la table lorsque vous utilisez des mots-clés réservés. Dans JPA 1.0, il n'y a pas de méthode standardisée et la solution spécifique à Hibernate consiste à utiliser des backticks :
@Entity
@Table(name="`User`")
public class User {
...
}
Dans JPA 2.0, la syntaxe standardisée ressemble à ceci :
@Entity
@Table(name="\"User\"")
public class User {
...
}
Références
- Documentation Hibernate Core
- 5.4. Identifiants entre guillemets SQL
- Spécification JPA 2.0
- 2.13 Nommage des objets de base de données