Hibernate注解之@Enumerated
轉:http://www.cnblogs.com/minideas/archive/2011/11/04/2235262.html
@Enumerated(value=EnumType.ORDINAL)采用枚舉類型的序號值與數據庫進行交互,
此時數據庫的數據類型需要是數值類型,例如在實際操作中
CatTest ct = new CatTest();
ct.setColor(Color.BLUE);
當我們將對象gt保存到數據庫中的時候,數據庫中存儲的數值是BLUE在Color枚舉
定義中的序號1(序號從零開始);
@Enumerated(value=EnumType.STRING)采用枚舉類型與數據庫進行交互,
此時數據庫的數據類型需要是NVACHAR2等字符串類型,例如在實際操作中
CatTest ct = new CatTest();
ct.setColor(Color.BLUE);
數據庫中存儲的數值是BLUE字符串。
ORDINAL表示持久化的為枚舉類型的值,STRING表示持久化的為枚舉類型的名稱。默認為ORDINAL,持久化值。例如以上示例中標注的為STRING,這樣持久化實體后,數據庫中保存的是枚舉類型的名稱。