我有一个使用Sping Boot 和MongoDB的项目。我有一个枚举类,返回。但是,据我所知,枚举类型保存为String到mongdb中。但是,我想保存为一个人。我该如何处理这个问题?
下面是我的Employee类。
@Data
@Document
public class Employee {
@MongoId(FieldType.OBJECT_ID)
private String id;
private String name;
private String surname;
private String department;
private Address address;
private Company company;
private Status status;
}
下面是我的枚举类代码。
public enum Status {
JUNIOR(0),
MID(1),
SENIOR(2);
private final int value;
Status(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
2条答案
按热度按时间bq3bfh9z1#
使用自定义转换器
若要为枚举创建自定义转换器,需要创建一个实现Converter接口并将枚举类作为泛型类型参数的类。下面的代码显示Status枚举的自定义转换器的示例:
创建自定义转换器后,需要将其注册到Spring Data MongoDB。您可以通过将以下配置添加到应用程序的spring.data.MongoDB属性来实现:
spring.data.mongodb.converters.enabled=true spring.data.mongodb.converters.custom-converters=com.example.StatusConverter
67up9zun2#
我不太清楚,不过你可以试试这个