【发布时间】:2025-12-22 07:05:11
【问题描述】:
public enum TransStatus{
NOT_FOUND(12,"RNF"),
CREATED(43,"created");
private Integer statusCode;
private String statusCodeString;
TransStatus(Integer statusCode,String statusCodeString){
this.statusCode = statusCode;
this.statusCodeString = statusCodeString;
}
public Integer getStatusCode() {
return statusCode;
}
public String getStatusCodeString() {
return statusCodeString;
}
}
实体类如下:
@Enumerated(EnumType.STRING)
@Column(name="STATUS")
private TransStatus status;
有什么方法可以将我的实体中的 TransStatus 列映射到作为状态代码的枚举的整数值,例如,如果我的枚举值为 NOT_FOUND,实体中的 TransStatus 值应该是 12,
编辑请注意我有两个值枚举状态码,状态码字符串,我们想要的只是状态码,我们已经尝试使用“Ordinal”它打印枚举的整数值而不是我的示例中的状态码
【问题讨论】:
-
使用
@Converter注解并实现所需的转换器 -
如果你放 { "status" : "NOT_FOUND" } 这将起作用,但是如果你想使用字符串 "created" 或 "RNF" 你可以转换或者你也可以创建一个 Sql Enum Type if您正在使用 Postgresql。
标签: java hibernate spring-boot jpa enums