Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Aufgrund eines Syntaxfehlers wird keine Tabelle in DB erstellt

Die Verwendung von Bindestrichen in Spaltennamen scheint ein bekanntes Problem mit Hibernate zu sein.

In JPA 1.0 besteht die Problemumgehung darin, den Spaltennamen mit Backticks zu maskieren:

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

In JPA 2.0 und höher können Sie den Spaltennamen einfach in Anführungszeichen setzen, z. B.

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

Referenz:

Feld mit reserviertem Wortnamen wird erstellt mit JPA