Java枚举int值只能与JPA按顺序存储?
我有一个简单的枚举,如下所示:Java枚举int值只能与JPA按顺序存储?,java,jpa,enums,Java,Jpa,Enums,我有一个简单的枚举,如下所示: public enum Tax { NONE(10), SALES(20), IMPORT(30); private final int value; private Tax(int value) { this.value = value; } public int getValue() { return value; } } @Entity public Person {
public enum Tax {
NONE(10), SALES(20), IMPORT(30);
private final int value;
private Tax(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
@Entity
public Person {
.........
private TAX tax = TAX.NONE;
public TAX getTax() {
return tax;
}
public void setTax(Tax tax) {
this.tax = tax;
}
.............
}
通过JPA在数据库中保存Person对象时,对象的tax字段在数据库中保存的值为0,值为tax.NONE
为什么不在数据库中保存10个呢?我怎样才能让JPA通过JPA在数据库中为TAX.NONE节省10英镑
谢谢 JPA在数据库中存储枚举值的标识,其索引(序号)或名称(字符串)。没有内置的方法从枚举上的字段检索正确的枚举实例,多个实例可能具有相同的字段值。如果确实希望在数据库中存储辅助字段值,可以为持久性提供程序编写自己的转换器