【发布时间】:2014-12-03 10:21:00
【问题描述】:
我使用 Morphia+MongoDB 作为简单 CRUD 输入掩码的后端。
我以最简单的方式准备框架,创建一个新的 MongoClient 并像这样初始化 Morphia:
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
}
假设我通过在表单中填写名称来创建一个客户。
当控制器调用save方法时,操作成功:
getClientiDao().save(cliente);
但是当我从 mongo 控制台查询“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>
【问题讨论】:
标签: mongodb jsf mongodb-java morphia