Java enum 数据库存储问题(大家都是存字符串还是数值)

sdbybyd:想问下大家怎么存储 enum 的,是字符串存储还是数值存储?
比如:

Gender {
MALE,
FEMALE
}

lower:byte

lower:@lower 说错了,bit

huijiewei:业务状态数据库存储字段个人推荐不要用 ENUM

我用
https://github.com/huijiewei/agile-boot/blob/master/agile-base/src/main/java/com/huijiewei/agile/base/consts/ValueDescription.java

https://github.com/huijiewei/agile-boot/tree/master/agile-base/src/main/java/com/huijiewei/agile/base/consts
里面有使用的例子

sdbybyd:@lower 你 @ 了自己,bit 指的是数值瞄?

GM:以下为我经常使用的做法,定义一个 enum,enum 里定义好 Json 、Jpa 等转换规则。

仅供参考:

```
@Getter
@AllArgsConstructor
public enum State {
UNKNOWN("未知"),
ACTIVE("正常"),
INACTIVE("封禁"),
;

private final String desc;

@JsonCreator
public static State fromStr(String strValue) {
return Arrays.stream(State.values()).filter(value -> value.value().equals(strValue)).findFirst().orElse(UNKNOWN);
}

@JsonValue
public String value() {
return this.name();
}

@Converter(autoApply = true)
public static class DatabaseColumnConverter implements AttributeConverter<State, String> {
public String convertToDatabaseColumn(State state) {
return state != null ? state.name() : UNKNOWN.name();
}

public State convertToEntityAttribute(String name) {
return fromStr(name);
}
}
}

```

xiangyuecn:enum 能做的 class 都能做。

enum 不能做的 class 都能做。

enum 各种蹩脚规范代码编写约束,本质上还是一个 class,但开头不能放别的东西,气不气人?

有什么理由用 enum ?没有!

chana71:@huijiewei 你这个是撸了个枚举类吗

Java 怎么实现条件编译?

enenaaa:java 基础为零。维护的代码里,有个类引用到了 sun.awt.X11 。但是又想能跨平台编译,起码在 windows 和 linux 都能用。怎么屏蔽平台差异呢? 难道只能运行时加载类库么。czzt1:不需要处理的吧,直接可以跨平台的 wanglulei:jvm 了解一下,java 如何实现跨平台? wysnylc:去了解下 JVM 跨平…

Java 初级后端岗位竞争太激烈了吧

joyhub2140:小公司,9 月初开放一个 java 后端,6k 其,学历放松到大专,年限放宽到应届。到目前为止,11 天的时间,500 个人过来撩,大专和本科比例大概 9 比 1,还能见到几个 211 本科的。太恐怖了。drydiy:因为相比其他行业,互联网行业平均薪资算不错了,再加上各种培训班的鼓吹,造成这种现象很正常。 TypeError:Java…

Java:正则表达式模式匹配器是否有大小限制? - java

我的模式类似于OR:“word1 | word2 | word3”我大约有800个字。可能有问题吗? 参考方案 您仅受记忆和理智的限制。 :)

Java:线程池如何将线程映射到可运行对象 - java

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …

在Zip文件中以编程方式创建链接-Java - java

我正在使用ZipOutputStream创建一个zip文件。也将有一个清单文件(一个csv文件),该文件具有指向Zip文件中条目的链接。如何以编程方式为zip条目创建链接? 参考方案 如果在编写它们时跟踪所有条目,则应该能够添加另一个包含“链接”的条目(但是csv如何链接到文件?请指定要实现的目标)。如果打算在Windows下使用该文件,则可以以编程方式创建…