2014-10-06 59 views
4

我在我的数据库表中有一列,我想要映射到Java对象。 我打上注解所选列:如何在使用Hibernate的@Enumerated时设置默认的枚举值?

@Enumerated(EnumType.STRING) 
private RoleType code; 

的问题是,在数据库方面,除了我感兴趣的价值观,有无效的(在我做任务的上下文中)值,因此我想将它们映射到“未知”类型。

ADMIN ("ADMIN "), 
CLIENT ("CLIENT"), 
SOMEBODY ("SOMEBODY"), 
UNKNOWN ("UNKNOWN"); 

尝试做到上述我得到了Hibernate映射错误。 是否可以使用Hibernate将枚举(ADMIN,CLIENT,SOMEBODY)中提到的不同于3的值映射到某个默认枚举值(即UNKNOWN)?

编辑:

为了让事情更清晰

如何在DB侧值应在Java端映射:

TYPE_1 ---> UNKNOWN 
ADMIN ---> ADMIN 
CLIENT ---> CLIENT 
SOMEBODY ---> SOMEBODY 
TYPE_2 ---> UNKNOWN 
SOMEBODY_2 ---> UNKNOWN 
+0

你的问题不清楚。你想实现什么? – 2014-10-06 10:16:50

回答