相关疑难解决方法(0)

使用注释的Hibernate Enum映射

我有一个现在的数据库,我现在正在使用hibernate连接.我现在无法更改其中的数据,并使所有内容与单个列分开.

我有一个具有以下值的状态列:

  • 邮寄

该列映射如下:

@Column(name = "STATUS", nullable = false, length = 50)
@Enumerated(EnumType.STRING)
private TeamMemberStatus status;
Run Code Online (Sandbox Code Playgroud)

我真的希望(出于应用程序的原因)将此列映射为Java Enum(TeamMemberStatus),但由于'new'是Java中的关键字,我不能将其作为枚举成员.

如果我有enum contstants NEW,MAILED,IN和OUT hibernate失败,因为在EnumType内部它会执行一个Enum.valueOf().

有没有办法让我把它映射到我的Enum而不必编写复杂的UserType?

- 添加内容

我的Enum是这样的:

public enum TeamMemberStatus {
    NEW, MAILED, IN, OUT 
}
Run Code Online (Sandbox Code Playgroud)

是一个有效的Java枚举,但不匹配数据库的情况.如果我改变它以匹配数据库,如:

public enum TeamMemberStatus {
    new, mailed, in, out
}
Run Code Online (Sandbox Code Playgroud)

它不会编译,因为'new'是Java保留字.

java enums annotations hibernate

5
推荐指数
1
解决办法
1585
查看次数

标签 统计

annotations ×1

enums ×1

hibernate ×1

java ×1