在數據庫中我們一般用整數或字符串來表示枚舉值(有些數據庫(如 MySQL)本身帶有枚舉類型), 而在使用 Hibernate 時實體對象中也用 Integer 或 String 來表示枚舉就不那麼友好了。試想來我們這樣定義實體對象的兩個屬性
@Entity
public class User {
....public Integer type; //0: Individual 類型,1: Company 類型
public String gender; //可取值 Male 和 Female
}
這樣的定義很不嚴謹,type 和 gender 理論上可取任何值,這會造成表中數據的混亂。其實 Hibernate 在 Java 實體對象中是可以直接用枚舉類型與數據庫中的整數或字符串映射,需用到 @Enumerated
註解,用法如下: 閱讀全文 >>