【发布时间】:2020-05-18 08:27:45
【问题描述】:
我有一个枚举。但是每当我发布它时,我的数据都会在数据库中保存为数字 0、1、2。我不知道这是怎么回事。这就是我在前面展示它的方式:
import org.hibernate.type.StringType;
import org.hibernate.type.EnumType;
SQLQuery query = getCurrentSession().createSQLQuery(sql.toString());
query.addScalar("id", IntegerType.INSTANCE);
query.addScalar("school",EnumType ); // how to call enumtype here?
我的后期控制器:
className.setSchool(SchoolType.FULL); //this is how i'm sending the school value
我的枚举:
public enum SchoolType {
REGULAR("REGULAR"),
FULL("FULL");
private String label;
SchoolType(String label) {
this.label = label;
}
public String getLabel() {
return label;
}
public String getName() {
return name();
}
}
我这样称呼它:
@Column(name="school")
private SchoolType school;
但问题不在于 reg 或 full ,数据库正在获取 0 或 1 值。如何解决这个问题?我没有获取 values ,而是将枚举键作为值。
【问题讨论】:
标签: java spring hibernate enums