如何解决修复JPA实体属性上的字符串矛盾
我是JPA的新手, 我只想为实体中的属性设置特定的修复部门名称,作为约束的修复字符串。即,属性的默认值。
如何设置?
解决方法
我认为最好的选择是使用Dinesh Dontha指示的枚举,请尝试以下操作:
实体
@Entity
public class MyEntity implements Serializable(){
private MyEnum attribute;
}
枚举
public enum MyEnum {
NAME1("N1")
private String shortName;
private MyEnum(String shortName) {
this.shortName = shortName;
}
public String getShortName() {
return shortName;
}
public static MyEnum fromShortName(String shortName) {
switch (shortName) {
case "N1":
return NacionalidadEnum.NAME1;
default:
throw new IllegalArgumentException("ShortName [" + shortName
+ "] not supported.");
}
}
}
转换器
@Converter(autoApply = true)
public class MyEntityEnumConverter implements AttributeConverter<MyEnum,String> {
@Override
public String convertToDatabaseColumn(MyEnum myEnum) {
return myEnum.getShortName();
}
@Override
public MyEnum convertToEntityAttribute(String dbData) {
return MyEnum.fromShortName(dbData);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。