在Hibernate中的枚举,作为一个枚举进行持久化。

23 浏览
0 Comments

在Hibernate中的枚举,作为一个枚举进行持久化。

在我的MySQL数据库中,有一个名为"gender enum('male','female')"的列。

我已经创建了名为"com.mydomain.myapp.enums.Gender"的枚举,而在我的Person实体类中,我定义了"Gender gender"。

现在我想保留MySQL数据库中的枚举类型,但是当我启动我的应用程序时,我得到了以下错误信息:

MyApp.Person的Gender列中的列类型错误。找到的类型是:enum,期望的类型是:integer

为什么会这样?这就相当于我对"Gender gender"进行了"@Enumerated(EnumType.ORDINAL)"的注解,但实际上我并没有这样做。EnumType似乎只能是ORDINAL或STRING,那么我该如何指定它将该字段视为枚举而不是整数呢?(虽然差别不大,但足够让它感到困惑。)

0