gpt4 book ai didi

java - Hibernate 上的字符串枚举

转载 作者:行者123 更新时间:2023-11-29 04:55:37 25 4
gpt4 key购买 nike

我遇到了关于将枚举插入 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;
}

}

我想将AEEANA 插入到数据库中。此外,我尝试了一个转换器:

@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")
@Enumerated(EnumType.STRING)
@Convert(converter=StatusPesquisaEnumConverter.class)
private StatusPesquisaEnum statusPesquisa;

但它是将ATENDIDOESPERAEMATENDIMENTONAOATENDIDO插入到数据库中。

最佳答案

删除 @Enumerated,因为它与自定义转换器冲突:

@Column(name = "str_status")
@Convert(converter = StatusPesquisaEnumConverter.class)
private StatusPesquisaEnum statusPesquisa;

关于java - Hibernate 上的字符串枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33895184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com