枚举字段Hibernate + MySQL出错

时间:2018-04-12 12:09:05

标签: mysql hibernate spring-boot

我正在尝试使用@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

谢谢

1 个答案:

答案 0 :(得分:1)

Interval是mysql的保留关键字

使用@Column在

上指定有效名称

protected IntervalEnum interval;