Het gebruik van koppeltekens in kolomnamen lijkt een bekend probleem te zijn met Hibernate.
In JPA 1.0 is de tijdelijke oplossing om de kolomnaam te escapen met backticks:
// this is for primary key
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
@Column(name = "`USER-NO`")
private int userno;
In JPA 2.0 en later kunt u eenvoudig aanhalingstekens rond de kolomnaam plaatsen, bijvoorbeeld
@Column(name = "\"USER-NO\"")
Referentie:
Veld maken met gereserveerde woordnaam met JPA