在我的MySQL数据库中,有"性别枚举('男性','女性')"
我创建了我的枚举"com.mydomain.myapp.enums.Gender",在我的Person实体中我定义了"性别性别".
现在我想在我的MySQL数据库中保留枚举类型,但是当我启动我的应用程序时,我得到:
MyApp.Person中的列类型为Sex的列错误.找到:枚举,预期:整数
为什么是这样?这就好像我用"@Enumerated(EnumType.ORDINAL)"注释了我的"性别性别",我没有.EnumType似乎只能是ORDINAL或STRING,那么如何指定它应该将字段视为枚举,而不是int?(并不是说有太大的不同,但足以让它对此感到不安.)
我正在使用JPA 2.1.我想生成mysql枚举类型列,如:gender enum('male','female').我的Enum课程是
public enum Gender {
MALE,
FEMALE
}
Run Code Online (Sandbox Code Playgroud)
在JPA实体类中
@Enumerated
private Gender gender;//generate int type column
Run Code Online (Sandbox Code Playgroud)
和
@Enumerated(EnumType.STRING)
private Gender gender; //generate varchar type column.
Run Code Online (Sandbox Code Playgroud)
有没有办法在MySql中生成枚举类型列?