Debe escapar del nombre de la tabla cuando use palabras clave reservadas. En JPA 1.0, no existe una forma estandarizada y la solución específica de Hibernate es usar acentos graves:
@Entity
@Table(name="`User`")
public class User {
...
}
En JPA 2.0, la sintaxis estandarizada se ve así:
@Entity
@Table(name="\"User\"")
public class User {
...
}
Referencias
- Documentación del núcleo 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