Я использую 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>
спасибо. Я использую JSF2 и решить с <контекстно-PARAM> javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL правда PARAM-значение> контекстно-пары> –