Spring Data Cassandra 轻量级事务支持
做数据操作不得不提的就是数据操作的事务性,如果控制不好就很容易将数据写脏,这往往是初学者容易犯大忌的地方。我们来看一下Spring Data Cassandra是如何给我们的数据操作增加轻量级事务支持的。
从Spring Data for Apache Cassandra 2.0开始,通过提供的两个类InsertOptions和UpdateOptions提供了轻量级事务的支持,也就是所谓的乐观锁支持。
只需要这样来配置对象
@Data
class VersionedPerson {
@Id String id;
@Version long version;
}
通过官网的单元测试代码不难发现,跟我们使用Spring Data访问数据的方法并无二异
@Test // DATACASS-576
public void shouldInsertNewVersionedEntity() {
when(cassandraOperations.insert(any(), any(InsertOptions.class))).thenReturn(writeResult);
CassandraPersistentEntity<?