【问题标题】:Morphia storing empty valuesMorphia 存储空值
【发布时间】: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


    【解决方案1】:

    空字段表示空值。这些字段具有“”值,因此被持久化。如果您不希望它们持续存在,则它们需要为空。

    【讨论】:

    • 谢谢。我正在使用 JSF2 并使用 javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULLtrue解决>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 2019-04-30
    相关资源
    最近更新 更多