【发布时间】:2011-04-11 15:01:59
【问题描述】:
是否有可能让 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()
我的问题是,如何自动填充相应的表 ROLE ? 所有底层逻辑和定义都存在于 XML 规范中。当然,我可以通过 XSL 从这个规范生成一个 sql 文件,然后让 Hibernate 在启动时通过 import.sql 语义导入这个文件......但是有没有更优雅的方式?
表格应如下所示:
|RoleID|RoleName |
| 0 |ROLE_USER_FREE|
....
【问题讨论】: