6

我正在使用 JPA 2.1。我想生成 mysql 枚举类型列,如:gender enum('male','female')。我的枚举类是

public enum Gender {
  MALE,
  FEMALE
}

在 JPA 实体类中

@Enumerated
private Gender gender;//generate int type column

@Enumerated(EnumType.STRING)
private Gender gender; //generate varchar type column. 

有没有办法在 MySql 中生成枚举类型列?

4

2 回答 2

8

使用以下代码:

public enum Gender {
    MALE, FEMALE;
}

@Enumerated(EnumType.STRING)
@Column(columnDefinition = "ENUM('User', 'Moderator', 'Admin')")
public Role role;
}
于 2013-07-01T16:28:09.450 回答
-1

如果要在数据库中使用字符串枚举值,列类型必须varchar基于数据库服务器。其实我也不清楚I want to genrate mysql enum type column。但是,如果您想将输出显示MALEmale,请参考如下:

public enum Gender {
    FEMALE("female"), MALE("male");

    private String label;

    private Gender(String label) {
        this.label = label;
    }

    public String getLabel() {
        return label;
    }
}

测试课

public static void main(String args[]) {
    System.out.println(Gender.MALE)
}

输出:男性

于 2013-06-24T05:57:33.170 回答