我的 Java 模型上有一个枚举类型,我想将它映射到数据库中的一个表。我正在使用 Hibernate Annotations,但我不知道该怎么做。由于我搜索的答案相当古老,我想知道哪种方式最好?
提前致谢
最佳答案
除了 @Enumerated
之外,您还需要别的吗?注解?例如下面的枚举:
public enum MyEnum {
VALUE1, VALUE2;
}
可以这样使用和注释:
private MyEnum myEnum;
@Column(name="myenum")
@Enumerated(EnumType.ORDINAL)
public MyEnum getMyEnum() {
return myEnum
}
您可以使用 @Enumerated
注释的 EnumType
枚举属性指定枚举应如何持久保存在数据库中。 EnumType.ORDINAL
指定枚举将作为整数值保存。这里,设置为 VALUE1
的 myEnum
将被持久化为 0,VALUE2
为 1,等等。
替代方法是使用 EnumType.STRING
来指定枚举将使用该字段设置为的枚举值的名称进行持久化。因此,应用于前面的示例,将字段 myEnum
设置为 MyEnum.VALUE1
将保持为 VALUE1
等。
关于java - 使用 Hibernate Annotations 映射枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2569053/