gpt4 book ai didi

java - 如何将枚举类型存储为小写字符串?

转载 作者:搜寻专家 更新时间:2023-10-30 20:01:07 25 4
gpt4 key购买 nike

我的模型类(件):

public class User ... {

@Enumerated(STRING)
private Status status;

...

public enum Status {

ACTIVE,
INACTIVE;

@Override
public String toString() {
return this.name().toLowerCase();
}
}

...

public String getStatus() {
return status.name().toLowerCase();
}

public void setStatus(Status status) {
this.status = status;
}
}

正如您在上面看到的,我重写了 toString 方法,但没有效果。数据库中的枚举存储为 ACTIVEINACTIVE

附言我用的是hibernate jpa

感谢您的帮助!

附言我问是因为我编写了生成 json 的 REST 服务(如果我没记错的话,在 json 对象中最好使用小写)

最佳答案

写一个converter类,用 @Converter 注释, 它实现了 javax.persistence.AttributeConverter<YourEnum, String> .有两种方法:

public String convertToDatabaseColumn(YourEnum attribute){..}
public YourEnum convertToEntityAttribute(String dbData) {..}

在那里你可以应用你的大写/小写逻辑。

稍后您可以注释您的字段,以便使用给定的转换器。

关于java - 如何将枚举类型存储为小写字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19547218/

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