Hibernate持久化时,持久化enum属性,带字符串

发布时间 2023-06-26 09:59:52作者: 纤

Hibernate持久化时,持久化enum属性,带字符串

如果不带字符串,在从数据库到对象的转换中会转换失败,且在数据库存放的内容为其在enum中的下标(0,1,2)

首先定义一个enum类,总共有四个状态

public enum Status{
    unreviewed("未审核"),reviewed("已审核"),submitted("已提交"),cancelled("已作废");

    private String status ;

    Status(String status) {
        this.status = status;
    }
}

持久化的字段:

    @Column(length = 20)
    private Status status; // 定单状态

然后加上注解,持久化字符串

    @Column(length = 20)
    @Enumerated(EnumType.STRING)
    private Status status; // 定单状态

enumType可选的有

image-20230626095420215