如何在 spring-data-cassandra 中将查询标记为幂等?

How to mark query as idempotent in spring-data-cassandra?

我正在从使用 Cassandra java 驱动程序的代码直接迁移到 spring-data-cassandra。旧代码使用 com.datastax.driver.core.PreparedStatement#setIdempotent 将一些查询标记为 idempotent(在某些情况下提供 performance/latency 奖励)

在通过 spring-data-cassandra 或通过 spring-cql 工作时,有什么方法可以设置此 属性 吗?我希望它是 @Query 注释的一个选项,或者查询方法的单独注释,或者至少是 QueryOptions

的一部分

我发现的唯一相关的东西是 https://jira.spring.io/browse/DATACASS-403 ,看起来像在 CassandraTemplate 中使用的 org.springframework.cassandra.core.CachedPreparedStatementCreator,不支持幂等标志(甚至重置此标志以进行手动构建查询)。此外,我没有在 github

的 2.0 spring-data-cassandra 分支中找到任何提及

不,它还没有计划用于 2.0,因为缓存是 broken,幂等查询的全部意义在于使其可缓存。

在修复缓存问题之前,不会内置对此标志的支持。当我查看此问题时,https://jira.spring.io/browse/DATACASS-291 是阻止此标志可用的罪魁祸首(恕我直言)