Mysql
 sql >> Base de données >  >> RDS >> Mysql

En raison d'une erreur de syntaxe, la table n'est pas créée dans la base de données

L'utilisation de tirets dans les noms de colonnes semble être un problème connu avec Hibernate.

Dans JPA 1.0, la solution consiste à échapper le nom de la colonne avec des backticks :

// this is for primary key
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
@Column(name = "`USER-NO`")
private int userno;

Dans JPA 2.0 et versions ultérieures, vous pouvez simplement placer des guillemets autour du nom de la colonne, par exemple

@Column(name = "\"USER-NO\"")

Référence :

Création d'un champ avec un nom de mot réservé avec JPA