博主首页

jpa转换枚举、转换以及入库数据、状态值发生变化可以不影响前端

复制代码
import com.peony.common.enums.PlanStatus;
import org.apache.poi.ss.formula.functions.T;

import javax.persistence.AttributeConverter;
import javax.persistence.Converter;

@Converter(autoApply = true)
public class PlanStatusConverter implements AttributeConverter<PlanStatus,String> {


    @Override
    public String convertToDatabaseColumn(PlanStatus attribute) {
        return attribute.getCode();
    }

    @Override
    public PlanStatus convertToEntityAttribute(String dbData) {
        return PlanStatus.valueOf(dbData);
    }
}
复制代码

枚举

复制代码
    S_TO_POSTPONE("14", "延期待审核"),
    /**
     *     S_CHANGE_THE_DATE("11", "改期"),
     */
    S_TO_CHANGE_THE_DATE("10", "改期待审核"),
    ;

    private final String code;

    private final String description;

    public  PlanStatus valueOfCode(String code) {
        for (PlanStatus value : values()) {
            if (value.code.equals(code)) {
                return value;
            }
        }
        return null;
    }
复制代码

po类

 

 这样就可以查询和写入自动转换了  、

 

注意:

@Converter(autoApply = true)这个注解只有在同一个包下才生效

处理单个可以在字段上添加
@Convert(converter = SyslogStartConverter.class)

 

posted @   笑~笑  阅读(186)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2022-03-28 vue全局变量,vue3全局变量
2022-03-28 vue循环、vue遍历、vue3循环、vue3遍历
点击右上角即可分享
微信分享提示