我可以使用Gson在MongoDB中保存简单的POJO文件内容,但现在我想将POJO文件中的枚举数据保存到MongoDB。但我没有得到如何保存枚举数据。
这是我的POJO档案:
import javax.annotation.Generated;
@Generated("org.jsonschema2pojo")
public class Coverage1 {
public enum Coverage {
Hearing_Aid_Professional_Liability("HEAR"), Incidental_Motorized_Land_Conveyances_Liability_Only("LANDC"), PremisesOperations_334("PREM"), Rental_Reimbursement("RREIM"), Liquor_Law_Liability_332("LLL"), Wind("WIND"), Business_Personal_Property("BPP"), OpticianOptometrists_Professional_Liability("OOPRL"), Builders_Risk("BLDRK");
private String val;
Coverage(String val){
this.val = val;
}
public String getVal ()
{
return this.val;
}
public void setVal (String val)
{
this.val = val;
}
}
private String id;
private CoverageCd coverageCd;
private CoverageDesc coverageDesc;
private CoverageTypeCd coverageTypeCd;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public CoverageCd getCoverageCd() {
return coverageCd;
}
public void setCoverageCd(CoverageCd coverageCd) {
this.coverageCd = coverageCd;
}
public CoverageDesc getCoverageDesc() {
return coverageDesc;
}
public void setCoverageDesc(CoverageDesc coverageDesc) {
this.coverageDesc = coverageDesc;
}
public CoverageTypeCd getCoverageTypeCd() {
return coverageTypeCd;
}
public void setCoverageTypeCd(CoverageTypeCd coverageTypeCd) {
this.coverageTypeCd = coverageTypeCd;
}
}
这是我的班级,我正在进行Mongo Call
Employee employee = new Employee(); // Create java object of Simple POJO with field No and Name
employee.setNo(2L);
employee.setName("POJO Test");
Coverage1 cv= new Coverage1();//POJO containing Enum
//How to save the Enum in Mongo
// Deserialize object to json string
Gson gson = new Gson();
String json = gson.toJson(employee);
System.out.println(json);
// Parse to bson document and insert
Document doc = Document.parse(json);
db.getCollection("NameColl").insertOne(doc);
我现在能够在另一个类中获取Enum的值,但是没有得到如何在MongoDB中保存整个数据。
Coverage1 cv= new Coverage1();
for(Coverage1.Coverage enumval:Coverage1.Coverage.values()){
System.out.println(enumval);
cv.setValue(enumval);//How to set the entire Enum Data in Mongo
}
请建议如何在MongoDB中插入整个Enum数据。
答案 0 :(得分:0)
您可以将常量保存为字符串,调用Enum#name()
方法并使用Enum#valueOf()
myEnum.valueOf(arg0)