2014-12-03 107 views
1

我使用Morphia + MongoDB作爲簡單CRUD輸入掩碼的後端。Morphia存儲空值

我準備框架最簡單的方式,創建一個新的MongoClient和初始化嗎啡那樣:

Morphia morphia = new Morphia(); 
morphia.mapPackage("it.trew.omg.model"); 

兩個實例都注入到DAO:

public class ClientiDao extends BasicDAO<Cliente, String> 

我的實體仍然是相當簡單:

@Entity("clienti") 
public class Cliente { 

    @Id ObjectId id; 

    String name; 
    String address; 
    String city; 
    String state; 
    String email; 

    public Cliente() { 

    } 

// getters+setters 

} 

比方說,我創建一個客戶端只是f在我的表單中填寫名字。

當一個控制器調用保存方法,操作成功:

getClientiDao().save(cliente); 

但是,當我從蒙戈控制檯查詢「clienti」收集我得到這個:

{ "_id" : ObjectId("547edf630364677dd2f911b8"), "className" : "it.trew.omg.model.Cliente", "name" : "Fabio Bozzo", "indirizzo" : "", "citta" : "", "cap" : "", "provincia" : "", "stato" : "", "email" : "", "telefono" : "", "fax" : "", "note" : "" } 

我想空字段不會被插入。有什麼不對?

版本:

<dependency> 
      <groupId>org.mongodb</groupId> 
      <artifactId>mongo-java-driver</artifactId> 
      <version>2.12.4</version> 
     </dependency> 

     <dependency> 
      <groupId>org.mongodb.morphia</groupId> 
      <artifactId>morphia</artifactId> 
      <version>0.108</version> 
     </dependency> 

回答

3

空字段意味着空。這些領域有價值,所以堅持下去。如果你不希望他們持續存在,他們需要爲空。

+0

謝謝。我使用JSF2並用<的context-param> ​​javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL 解決 – 2014-12-15 15:02:10