无法将TTL与基于弹簧数据CassandraRepository的实现一起使用。
弹簧数据卡桑德拉版本:最新
我正在尝试使用基于弹簧数据存储库的实现使用 cassandra 的 TTL 属性进行保存操作。 但是查看参考文档(https://docs.spring.io/spring-data/cassandra/docs/current/reference/html/(,我没有看到任何直接使用它的方法。
尽管文档提到我们可以使用它,但没有为基于存储库的实现提供示例。请注意,我看到一些使用 cqlTemplate 和 cassadraOperations的示例。但没有存储库。
No code written yet as I am trying to figure out how to use it
期望是存储库保存/更新方法上的某种@TTL(以秒为单位的值(注释,以便于实现。
参考 A Sarkar 在这篇文章中的回答 使用 spring-data-cassandra 在 spring boot 应用程序中的 TTL 支持
请在此处查看我的示例代码,https://github.com/nontster/spring-data-cassandra-demo
我从本教程中借用示例代码 https://www.baeldung.com/spring-data-cassandra-tutorial
您需要先创建演示密钥空间,然后才能运行此代码,
CREATE KEYSPACE demo WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 1};
在 BookRepositoryIntegrationTest 中运行 saveBookTest(( 方法.java您可以通过列看到倒计时 TTL(我将 TTL 设置为 600 秒(
cqlsh:demo> SELECT title,TTL(year) FROM Book WHERE title='Head First Java' AND publisher='O''Reilly Media';
title | ttl(year)
-----------------+-----------
Head First Java | 597
(1 行(