0

私はdatandax java-driverをcassandraに使用しています。テーブルの列の1つについては、挿入/更新時にnullの値を防ぐことを望みます。休止/ JPAではDatastax Java-Driver nullable = false

我々は@Column注釈付き偽= NULL可能属性を持っています。このような属性はdatastaxドライバにはありません

私はdatandax java driver for cassandraでnullable = falseの動作を達成できますか?

カサンドラバージョン:2.1.8 カサンドラ・ドライバ・コア:3.1.0

答えて

1

あなたが偽= NULL可能列にNULL値を挿入しようとすると、ドライバがエラーをスローすることが予想される場合は、 JPAと同様に、このような機能はありません。しかし

、あなたはちょうどあなたがオプションをチェックして、あなたのDBに挿入するNULL値を防ぐために必要がある場合は、次のように使用されているSaveNullFields、:

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

これは場合に特に有用ですupsert操作の場合、null値で既存のデータを置き換えないようにします。

ドキュメント:Datastax: Using the mapper

saveNullFields:trueに設定されている場合、永続化するあるインスタンス内の値nullを持つフィールドがクエリで明示的にヌルとして書き込まれます。 falseに設定すると、null値を持つフィールドは書き込みクエリに含められません(したがって、墓碑を避ける)。指定されていない場合、デフォルトの動作はnullフィールドを永続化することです。

関連する問題