Datastax Java驱动程序nullable=false

Datastax Java驱动程序nullable=false,java,cassandra,datastax,datastax-java-driver,cassandra-2.1,Java,Cassandra,Datastax,Datastax Java Driver,Cassandra 2.1,我正在为cassandra使用datastax java驱动程序。对于表中的一列,我希望在插入/更新期间防止null值 在hibernate/JPA中,我们有nullable=false属性和@Column注释。datastax驱动程序不存在此类属性 我可以用datastax java驱动程序实现nullable=false行为吗 卡桑德拉版本:2.1.8 cassandra driver core:3.1.0如果您希望驱动程序在尝试向nullable=false列插入空值时抛出错误,类似于JP

我正在为cassandra使用datastax java驱动程序。对于表中的一列,我希望在插入/更新期间防止null

在hibernate/JPA中,我们有nullable=false属性和@Column注释。datastax驱动程序不存在此类属性

我可以用datastax java驱动程序实现nullable=false行为吗

卡桑德拉版本:2.1.8
cassandra driver core:3.1.0

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

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

yourEntityMapper.setDefaultSaveOptions(Option.saveNullFields(false));
这在upsert操作的情况下特别有用,您不希望用空值替换现有数据

文件:

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


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

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

yourEntityMapper.setDefaultSaveOptions(Option.saveNullFields(false));
这在upsert操作的情况下特别有用,您不希望用空值替换现有数据

文件:

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