Java Jpa与枚举属性的关联,不是常量
是否有方法将枚举属性而不是枚举常量绑定到Jpa列 我有这样一个枚举:Java Jpa与枚举属性的关联,不是常量,java,jpa,enums,Java,Jpa,Enums,是否有方法将枚举属性而不是枚举常量绑定到Jpa列 我有这样一个枚举: public enum Type{ TYPE1("type1"), TYPE2("type2); private String enumValue; Type(String enumValue){ this.enumValue = enumValue; } public String getValue(){ return enumValue; } }
public enum Type{
TYPE1("type1"),
TYPE2("type2);
private String enumValue;
Type(String enumValue){
this.enumValue = enumValue;
}
public String getValue(){
return enumValue;
}
}
public class TestEntity{
@Enumerated(EnumType.STRING)
private Type type;
}
像这样的实体:
public enum Type{
TYPE1("type1"),
TYPE2("type2);
private String enumValue;
Type(String enumValue){
this.enumValue = enumValue;
}
public String getValue(){
return enumValue;
}
}
public class TestEntity{
@Enumerated(EnumType.STRING)
private Type type;
}
我的实体始终与枚举常量绑定,即TYPE1,而不是与enumValue绑定,即“TYPE1”。我找不到这样做的方法。我想知道的是,这甚至是JPA的可能
谢谢,您可以使用hibernate专有技术(如果您使用hibernate)或者,如果您使用JPA2.1实现,则可以使用新的。下面是一个例子
@Convert(converter = TypeConverter.class)
private Type type;
@转换器
公共类TypeConverter实现AttributeConverter{
@凌驾
公共字符串convertToDatabaseColumn(类型属性){
返回属性.getValue();
}
@凌驾
公共类型convertToEntityAttribute(字符串dbData){
返回类型.fromValue(dbData);
}
}