Java Cassandra QueryBuilder检查null

Java Cassandra QueryBuilder检查null,java,cassandra,null,Java,Cassandra,Null,我被要求将一些使用Cassandra驱动程序v3的Java代码迁移到Cassandra驱动程序v4 导致我出现问题的请求之一是以下请求(驱动程序V3): 引起我问题的部分是.onlyIf(QueryBuilder.eq(COLUMN\u INSTANCE\u ID,null))不要问我为什么这个请求最初是这样写的-它就是这样做的 我没有找到为Cassandra驱动程序v4编写该查询的方法,因为查询中有空值。 我通过在查询中添加命名bindmarker并在绑定它时提供null作为值来“欺骗”(驱动

我被要求将一些使用Cassandra驱动程序v3的Java代码迁移到Cassandra驱动程序v4

导致我出现问题的请求之一是以下请求(驱动程序V3):

引起我问题的部分是
.onlyIf(QueryBuilder.eq(COLUMN\u INSTANCE\u ID,null))不要问我为什么这个请求最初是这样写的-它就是这样做的

我没有找到为Cassandra驱动程序v4编写该查询的方法,因为查询中有空值。 我通过在查询中添加命名bindmarker并在绑定它时提供null作为值来“欺骗”(驱动程序V4):

但我正在寻找一个“真正的”解决方案

QueryBuilder
  .update(keyspaceName, TABLE_BLOCK_CURSOR_NAME)
  .with(QueryBuilder.set(COLUMN_INSTANCE_ID, QueryBuilder.bindMarker()))
  .where(QueryBuilder.eq(COLUMN_OBJECT_ID, QueryBuilder.bindMarker()))
  .onlyIf(QueryBuilder.eq(COLUMN_INSTANCE_ID, null));
QueryBuilder
  .update(keyspaceName, TABLE_BLOCK_CURSOR_NAME)
  .setColumn(COLUMN_INSTANCE_ID, QueryBuilder.bindMarker())
  .whereColumn(COLUMN_OBJECT_ID).isEqualTo(QueryBuilder.bindMarker())
  .ifColumn(COLUMN_INSTANCE_ID).isEqualTo(QueryBuilder.bindMarker(NULL_MARKER)));