java - 使用 Hibernate Annotations 映射枚举类型

标签 java hibernate orm annotations enums

我的 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 指定枚举将作为整数值保存。这里,设置为 VALUE1myEnum 将被持久化为 0,VALUE2 为 1,等等。

替代方法是使用 EnumType.STRING 来指定枚举将使用该字段设置为的枚举值的名称进行持久化。因此,应用于前面的示例,将字段 myEnum 设置为 MyEnum.VALUE1 将保持为 VALUE1 等。

关于java - 使用 Hibernate Annotations 映射枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2569053/

相关文章:

c# - 有关使用最新.Net技术开发基于Web的新应用程序的建议

sql - 模式交换支持 Go GORM

java - java创建socket时出现IOException错误

java - 在 Hibernate 中通过映射表值排序

java - ClassNotFoundException : oracle. jdbc.OracleDriver

java - Spring - Hibernate 使用 FlushMode 提高事务性能

java - 在java中,我们可以通过传递父类(super class)方法中使用的参数的子类来覆盖方法吗?

java - 适用于 Android 的 Google 联系人 API

java - char[] 上的流写入器不起作用

python - 将 postgresql 与 sqlalchemy 连接起来