有沒有可能讓Hibernate(3.6)用給定枚舉的值填充數據庫表? 我有以下類:在休眠時使用枚舉值填充數據庫表
@Entity
public enum Role
{
ROLE_USER_FREE("ROLE_USER_FREE"),
ROLE_USER_STANDARD("ROLE_USER_STANDARD"),
ROLE_USER_PREMIUM("ROLE_USER_PREMIUM"),
ROLE_ADMIN("ROLE_ADMIN");
... constructor/setter/getter etc.
}
我可以使用這個枚舉不從其他實體類的任何問題使用
@Enumerated(EnumType.STRING)
public Role getRole()
我的問題是,我怎麼能自動填充相應的表的作用? 所有基礎邏輯和定義都在XML規範中。當然,我可以通過XSL從這個規範生成一個sql文件,讓Hibernate在啓動時通過import.sql sematic導入這個文件...但是有沒有更多優雅的方式?
表應該是這樣的:
|RoleID|RoleName |
| 0 |ROLE_USER_FREE|
....
「你必須自己填寫的表格,有一個爲Hibernate來爲你做它沒有內置的方式。」謝謝。在整個互聯網上尋找這個聲明,但找不到任何東西..現在我可以停止尋找。一個25K的答案是足夠真實的^^ – chzbrgla 2011-05-17 09:17:38
我會提醒不要使用序號,因爲它只需要一名初級程序員不知道序數問題,並將其添加到頂部或中間以便爲您整理其餘的數據庫。在枚舉本身使用一個常量,可以是一個字符串,也可以使用'int id'字段並堅持。 – corsiKa 2015-11-28 06:47:24