簡體   English   中英

Datastax Java驅動程序nullable = false

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM