数据库中的Hibernate枚举关系映射

时间:2011-05-19 08:35:19

标签: java database hibernate enums

目前我有Enums让我们说

enum Category {
  A, B
}

enum Type {
  TYPE1(Category.A), TYPE2(Category.B), TYPE3(Category.A)

  private Category cat;
  private Type(Category cat) {
    this.cat = cat;
  }

}

我在hibernate中为这些枚举使用EnumUserType。我想改变它,以便类型到类别的映射将在数据库中定义而不是在代码中明确定义,最简单的方法是什么?

我会在使用外键引用CATEGORY的数据库中为表定义TYPE的表添加列,我想知道的是hibernate映射。

(我知道这似乎是一个愚蠢的问题)

1 个答案:

答案 0 :(得分:1)

您需要至少为Type创建一个实体(因此不再使用枚举类型)。 然后将枚举类别存储为“类型”中的字段,或者也为此创建实体。