我正在尝试使用@Enumerated向我的实体添加一个枚举字段,这是我的代码:
@Entity
public class Frequency extends AbstractModel {
@Column(nullable = true)
@Enumerated(EnumType.STRING)
protected DayOfWeek dayOfWeek;
@Enumerated(EnumType.STRING)
protected IntervalEnum interval;
}
但是在构建我的项目时,我收到错误:
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'interval varchar(255), primary key (id)) engine=MyISAM' at line 1
这是导致错误的枚举,但为什么?
public enum IntervalEnum {
D,
W,
M;
}
我正在使用Hibernate 5.2.16 + MySQL 5.7 + Spring boot 1.5.12
谢谢
答案 0 :(得分:1)
Interval是mysql的保留关键字
使用@Column在
上指定有效名称 protected IntervalEnum interval;