java - 尝试应用 AttributeConverter 时出错;嵌套异常是 javax.persistence.PersistenceException:尝试应用 AttributeConverter 时出错
问题描述
我正在尝试使用此链接https://thorben-janssen.com/hibernate-enum-mappings/中的示例将我的枚举值映射到我的 postgres 数据库中, 使用转换器来持久化枚举的值,
但我不断收到此错误
我的枚举
public enum Rating {
ONE, TWO, THREE, FOUR, FIVE
}
转换器
@Converter
public class RatingAttributeConverter implements AttributeConverter<Rating, Integer> {
@Override
public Integer convertToDatabaseColumn(Rating attribute) {
if (attribute == null)
return null;
switch (attribute) {
case ONE:
return 1;
case TWO:
return 2;
case THREE:
return 3;
case FOUR:
return 4;
case FIVE:
return 5;
default:
throw new IllegalArgumentException(attribute + " not supported.");
}
}
@Override
public Rating convertToEntityAttribute(Integer dbData) {
if (dbData == null)
return null;
switch (dbData) {
case 1:
return Rating.ONE;
case 2:
return Rating.TWO;
case 3:
return Rating.THREE;
case 4:
return Rating.FOUR;
case 5:
return Rating.FIVE;
default:
throw new IllegalArgumentException(dbData + " not supported.");
}
}
}
我的课
@Entity
public class Review {
@Id
@GeneratedValue
private Long id;
private String message;
@Convert(converter = RatingAttributeConverter.class)
private Rating rating;
//getters and setters
}
PS:我尝试使用 @Converter(autoApply=true) 但它也不起作用。 请有人可以帮我找到解决方案
解决方案
推荐阅读
- r - 计算跨组的共现
- soapui - 输入 XML SOAP 请求
- python - 根据条件将某些值附加到数据集
- angularjs - 带有 Bootstrap 的 AngularJS 动态 Youtube 视频
- javascript - ReactJS - 如何使用 react-to-print 打印可滚动元素的所有内容
- mount - 带有 altroot 或“-R”的 ZFS 池不会自动挂载
- android - 统计每种产品在一天内销售的产品
- windows - 通过 windows 命令从 ftp 中删除最旧的文件
- r - 如何使用字符更改散点图 y 刻度上的标签?
- reactjs - React Js 和 Laravel 上传多张图片