2014-12-03 7 views
1

간단한 CRUD 입력 마스크에 대해 Morphia + MongoDB를 백엔드로 사용하고 있습니다.빈 값을 저장하는 모르 피어

public class ClientiDao extends BasicDAO<Cliente, String> 

내 실체는 여전히 예쁜 :

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

두 인스턴스

는 DAO에 주입 :

나는 새로운 MongoClient를 만들고 그런 모르핀을 초기화 프레임 워크를 가장 간단한 방법을 준비 단순 :

@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

빈 필드가 null 의미한다. 해당 필드는 값을 가지므로 지속됩니다. 당신이 그들을 영속시키고 싶지 않다면, 그들은 null 일 필요가 있습니다.

+0

감사합니다. 나는 JSF2을 사용하고 <상황 PARAM> javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL 사실 로 해결 해요 –