在列名中使用连字符似乎是Hibernate的已知问题。
在JPA 1.0中,解决方法是使用反引号对列名进行转义:
// this is for primary key@Id@GeneratedValue(strategy = GenerationType.TABLE)@Column(name = "`USER-NO`")private int userno;
在JPA 2.0和更高版本中,您可以简单地在列名两边加上引号,例如
@Column(name = ""USER-NO"")
参考:
使用JPA创建具有保留字名称的字段



