35
我在我的Java模型上有一個枚舉類型,我想映射到數據庫上的一個表。我正在使用Hibernate Annotations,我不知道該怎麼做。由於我搜索的答案相當老,我想知道哪種方法最好?使用Hibernate註釋映射枚舉類型
在此先感謝
我在我的Java模型上有一個枚舉類型,我想映射到數據庫上的一個表。我正在使用Hibernate Annotations,我不知道該怎麼做。由於我搜索的答案相當老,我想知道哪種方法最好?使用Hibernate註釋映射枚舉類型
在此先感謝
你需要比@Enumerated
註釋別的東西?例如,下面的枚舉:
public enum MyEnum {
VALUE1, VALUE2;
}
可以用來和註釋是這樣的:
private MyEnum myEnum;
@Column(name="myenum")
@Enumerated(EnumType.ORDINAL)
public MyEnum getMyEnum() {
return myEnum
}
您可以指定枚舉應在數據庫與@Enumerated
註釋的EnumType
枚舉屬性被持久化。 EnumType.ORDINAL
指定枚舉將作爲整數值持久化。這裏,myEnum
設置爲VALUE1
將持久化爲0,VALUE2
爲1,等等
的替代方法是使用EnumType.STRING
指定的枚舉將利用該字段被設置爲枚舉值的名稱來保留。因此,應用到前面的示例中,將字段myEnum
設置爲MyEnum.VALUE1
將持續爲VALUE1
等。
謝謝!我想這正是我所期待的。我要試一試 – Thiago 2010-04-02 20:58:40
我可以爲enum類的@Id字段輸入什麼? – Thiago 2010-04-02 21:19:55
@Thiago什麼?你的枚舉通常不是一個實體,它沒有'@ Id'字段。你能否更新你的問題以顯示你在做什麼? – 2010-04-02 21:46:17