2016-10-07 7 views
0

Gongを使用して単純なPOJOファイルコンテンツをMongoDBに保存できましたが、POJOファイル内の列挙データをMongoDBに保存します。しかし、私は列挙型データを保存する方法を取得していません。POJOファイルのEnumデータをMongoDBに保存する方法

これは私のPOJOファイルです:これは私が今、別のクラスの列挙型の値を取得することができる午前私はモンゴコール

 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); 

を作っていたところから私のクラスである

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; 
    } 

} 

が、 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全体の列挙型データを挿入する方法をお勧めします。

答えて

0

あなたがEnum#name()メソッドを呼び出すStringとして定数を保存し、Enum#valueOf()

例使用して、それをバック取り出すことができます助け

myEnum.valueOf(arg0) 
+0

感謝を。しかし、私もそれを助けることができるなら、もう一つ質問があります。 Enumデータ全体をMongoDBに保存する必要がありますが、それを達成する方法は得られません。質問に新しいコードを追加する –

関連する問題