Spring Data Cassandra 计数器更新

3
在Spring Data的文档中,它说:
CassandraTemplate是访问诸如递增计数器或自定义CRUD操作等功能的地方。
我正在尝试使用spring-data-cassandra中的CassandraTemplate更新计数器,但是这个主题的文档非常稀少。是否有一个好的例子?
2个回答

3
我没有找到任何好的例子,但是从CassandraTemplate/CqlTemplate的源代码中,代码应该如下所示:
Update updateOp = QueryBuilder.update(cassandraOperations.getTableName(MyMapped.class).toCql());
        updateOp.with(QueryBuilder.incr("my_count_column"))
                        .where(QueryBuilder.eq(...) ); // Primary key clause
cassandraOperations.execute(updateOp);

2
您可以使用自定义的@Query来更新计数器的值。
例如,假设您有某个存储库:
public interface SomeRepository extends CassandraRepository<SomeEntity> {

@Query("update some_table SET counter=counter+1 WHERE value1 = ?0 AND value2= ?1;")
Object updateCounterValue(String value1, String value2);}

当然,您也可以对要更新的值进行参数化。

有没有可能以以下方式使用查询?@Query("update " + TABLE_NAME + " SET counter=counter+1 WHERE value1 = ?0 AND value2= ?1;") - mang4521

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接