【问题标题】:Cassandra update with Lightweight TransactionsCassandra 更新轻量级事务
【发布时间】:2023-05-16 19:50:01
【问题描述】:

我想用 SpringBoot Cassandra 实现更新语句的轻量级事务。 例如:

UPDATE cyclist_id SET id = 15a116fc-b833-4da6-ab9a-4a3775750239 where lastname = 'WELTEN' and firstname = 'Bram' IF age = 18;

CassandraTemplate 是否有任何 API 可用于实现上述目标? 我尝试使用
UpdateOptions updateOptions = UpdateOptions.builder().consistencyLevel(ConsistencyLevel.QUORUM).build(); 但不确定如何使用值设置 If 条件(如年龄 = 18)

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    我想出了通过SpringBoot Caasandra实现轻量级事务的解决方案。

    1. 使用 com.datastax.oss.driver.api.core.CqlSession builder 创建 CqlSession。
    2. 使用 PreparedStatement - 进行查询。在查询中使用 IF 条件。并使用 BoundStatement 将参数设置为查询。

    【讨论】: