Java Hibernate上的字符串枚举

Java Hibernate上的字符串枚举,java,hibernate,enums,Java,Hibernate,Enums,我对在VARCHAR字段中插入枚举有疑问。 这是我的枚举: public enum StatusPesquisaEnum { ATENDIDO("A"), ESPERA("E"), EMATENDIMENTO("EA"), NAOATENDIDO("NA"); private StatusPesquisaEnum(String codigo){ this.codigo = codigo; } private fina

我对在
VARCHAR
字段中插入枚举有疑问。 这是我的枚举:

public enum StatusPesquisaEnum {

    ATENDIDO("A"),
    ESPERA("E"),
    EMATENDIMENTO("EA"),
    NAOATENDIDO("NA");


    private StatusPesquisaEnum(String codigo){
        this.codigo = codigo;
    }

    private final String codigo;

    public String getCodigo() {
        return codigo;
    }

}
我想将
A
E
EA
NA
插入数据库。 此外,我还尝试了一种转换器:

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

    @Override
    public String convertToDatabaseColumn(StatusPesquisaEnum status) {
        return status.getCodigo();
    }

    @Override
    public StatusPesquisaEnum convertToEntityAttribute(String codigoStatus) {
        return StatusPesquisaEnum.valueOf(codigoStatus);
    }
}
@Column(name = "str_status")
@Convert(converter = StatusPesquisaEnumConverter.class)
private StatusPesquisaEnum statusPesquisa;

但它正在将
ATENDIDO
ESPERA
EMATENDIMENTO
NAOATENDIDO
插入数据库。

删除
@枚举的
,因为这与自定义转换器冲突:

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

    @Override
    public String convertToDatabaseColumn(StatusPesquisaEnum status) {
        return status.getCodigo();
    }

    @Override
    public StatusPesquisaEnum convertToEntityAttribute(String codigoStatus) {
        return StatusPesquisaEnum.valueOf(codigoStatus);
    }
}
@Column(name = "str_status")
@Convert(converter = StatusPesquisaEnumConverter.class)
private StatusPesquisaEnum statusPesquisa;

删除
@Enumerated
,因为这与自定义转换器冲突。谢谢,部分工作正常!我已经做了一些更改,我将编辑帖子!(y) 请不要在问题中添加解决方案。要么创建一个新的答案,要么就把我的评论留作答案……这不是你在网上找到的那些有愚蠢[已解决]文本的论坛之一。相反,如果有一个答案可以解决你的问题。