[英]Datastax Java-Driver nullable=false
我正在为Cassandra使用Datastax Java驱动程序。 对于表中的一列,我希望在插入/更新期间防止空值。
在hibernate / JPA中,我们具有带有@Column批注的nullable = false属性。 此类属性在datastax驱动程序中不存在
我可以使用cassandra的datastax java驱动程序实现nullable = false行为吗?
Cassandra版本:2.1.8 cassandra-driver-core:3.1.0
如果您希望驱动程序在尝试将null值插入nullable = false列时引发错误,则类似于JPA,则没有这种功能。
但是,如果只需要防止将空值插入到数据库中,则可以选中以下选项: SaveNullFields ,其用法如下:
yourEntityMapper.setDefaultSaveOptions(Option.saveNullFields(false));
这在upsert操作的情况下特别有用,在upsert操作中,您不希望空值替换现有数据。
文档: Datastax:使用映射器
saveNullFields :如果设置为true,则在要保留的实例中值为null的字段将在查询中显式写入null。 如果设置为false,则具有空值的字段将不会包含在写入查询中(因此避免了逻辑删除)。 如果未指定,则默认行为是保留空字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.