Datastax Java-Driver nullable = false

时间:2017-01-31 05:00:24

标签: java cassandra datastax datastax-java-driver cassandra-2.1

我正在为cassandra使用datastax java-driver。对于表格中的一列,我希望在插入/更新期间阻止 null 值。

在hibernate / JPA中,我们使用 @Column 注释 nullable = false 属性。数据存储驱动程序

不存在此属性

我可以使用cassandra的数据存储java驱动程序实现nullable = false行为吗?

Cassandra版本:2.1.8 cassandra-driver-core:3.1.0

1 个答案:

答案 0 :(得分:1)

如果您希望驱动程序在尝试将空值插入 nullable = false 列时抛出错误,与JPA类似,则没有此类功能。

但是,如果您只需要阻止将空值插入数据库,则可以选中以下选项: SaveNullFields ,其用法如下:

yourEntityMapper.setDefaultSaveOptions(Option.saveNullFields(false));

这对于 upsert 操作尤其有用,您不希望空值替换现有数据。

文档:Datastax: Using the mapper

  

saveNullFields :如果设置为true,则要保留的实例中值为null的字段将在查询中显式写为null。如果设置为false,则写入查询中将不包含具有空值的字段(从而避免使用逻辑删除)。如果未指定,则默认行为是保留空字段。