如下代碼定義了一個表示性別類的Gender枚舉類型:數據庫
public class Gender extends Enum{ public static final Gender FEMALE; public static final Gender MALE; }
假定Customer類有一個表示性別的gender屬性,它是Gender枚舉類型:markdown
@Column(name="GENDER") private Gender gender=Gender.MALE;
默認狀況下,Hibernate會把枚舉常量的序號存儲到數據庫中。Gender.FEMALE的序號是0,Gender.MALE的序號爲1。因此對於以上代碼,在數據庫中,與gender屬性對應的GENDER字段的取值爲1。
也能夠採用@Enumerated註解來映射gender屬性的類型:ide
@Enumerated(EnumType.STRING) @Column(name="GENDER") private Gender gender=Gender.MALE;
以上@Enumerated註解使得Hibernate把枚舉常量的字符串名字存儲到數據庫中。Gender.FEMALE的名字是「FEMALE」,Gender.MALE的名字是「MALE」。因此對於以上代碼,在數據庫中,與gender屬性對應的GENDER字段的取值爲「MALE」。
atom