如何使用jpa保存具有字段值的Enum对象

时间:2015-05-20 08:29:02

标签: java hibernate jpa

public enum AssesmentType {
    PERCENTAGE,PERCENTILE;



    enter code here
    private String value;

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }



}

1 个答案:

答案 0 :(得分:0)

我不知道100%你的意思,但我认为你想要以下内容:

jpa-entity中的变量仍然是String(包含数据库中的值)

在getter中

,您可以使用AssesmentType

返回return AssesmentType.fromString(jpaValue)

在setter中你取一个AssesmentType并将.getValue()设置为String。

public enum AssesmentType {
PERCENTAGE("1"),PERCENTILE("2");
private String value;

private static final Map<String, AssesmentType stringMap 
        = new HashMap<String, AssesmentType ();

static {
    for (AssesmentType  b : AssesmentType .values()) {
        stringMap.put(b.getValue(),b);          
    }
}

AssesmentType(String value){
  this.value = value;
}

public String getValue() {
    return value;
}

public AssesmentType fromString(String value) {
    return stringMap.get(value);
}

}