此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Data Cassandra 4.5.2spring-doc.cadn.net.cn

Cassandra 支持

参考文档的这一部分解释了 Spring Data for Apache Cassandra 提供的核心功能。 Spring Data 对 Apache Cassandra 的支持包含广泛的功能:spring-doc.cadn.net.cn

抽象

Spring Data for Apache Cassandra 允许在 CQL 和实体级别进行交互。spring-doc.cadn.net.cn

Spring Data for Apache Cassandra 抽象提供的值可能最好通过下表中概述的作序列来显示。 该表显示了 Spring 负责哪些作,哪些作由您(应用程序开发人员)负责。spring-doc.cadn.net.cn

表 1.Spring Data for Apache Cassandra - 谁做什么?
行动 Spring

定义连接参数。spring-doc.cadn.net.cn

Xspring-doc.cadn.net.cn

打开连接。spring-doc.cadn.net.cn

Xspring-doc.cadn.net.cn

指定 CQL 语句。spring-doc.cadn.net.cn

Xspring-doc.cadn.net.cn

声明参数并提供参数值spring-doc.cadn.net.cn

Xspring-doc.cadn.net.cn

准备并运行语句。spring-doc.cadn.net.cn

Xspring-doc.cadn.net.cn

设置循环以循环访问结果(如果有)。spring-doc.cadn.net.cn

Xspring-doc.cadn.net.cn

为每次迭代做工作。spring-doc.cadn.net.cn

Xspring-doc.cadn.net.cn

处理任何异常。spring-doc.cadn.net.cn

Xspring-doc.cadn.net.cn

关闭会话。spring-doc.cadn.net.cn

Xspring-doc.cadn.net.cn

核心 CQL 支持负责所有低级细节,这些细节可能使 Cassandra 和 CQL 成为开发的繁琐 API。 使用映射的实体对象允许模式生成、对象映射和存储库支持。spring-doc.cadn.net.cn

选择 Cassandra 数据库访问方法

您可以选择多种方法作为 Cassandra 数据库访问的基础。 Spring 对 Apache Cassandra 的支持有不同的风格。 开始使用其中一种方法后,您仍然可以混合和匹配以包含来自不同方法的功能。 以下方法效果很好:spring-doc.cadn.net.cn

  • CqlTemplateReactiveCqlTemplate是经典的 Spring CQL 方法,也是最受欢迎的。 这是“最低级别”的方法。 请注意,像CassandraTemplateCqlTemplate在引擎盖下。spring-doc.cadn.net.cn

  • CassandraTemplate包装一个CqlTemplate提供查询结果到对象的映射,并使用SELECT,INSERT,UPDATEDELETE方法,而不是编写 CQL 语句。 这种方法提供了更好的文档和易用性。spring-doc.cadn.net.cn

  • ReactiveCassandraTemplate包装一个ReactiveCqlTemplate提供查询结果到对象的映射,并使用SELECT,INSERT,UPDATEDELETE方法,而不是编写 CQL 语句。 这种方法提供了更好的文档和易用性。spring-doc.cadn.net.cn

  • 存储库抽象允许您在数据访问层中创建存储库声明。 Spring Data 存储库抽象的目标是显着减少为各种持久性存储实现数据访问层所需的样板代码量。spring-doc.cadn.net.cn

对于大多数面向数据的任务,您可以使用[Reactive|Async]CassandraTemplateRepository支持,两者都使用丰富的对象映射功能。[Reactive|Async]CqlTemplate通常用于递增计数器或执行临时 CRUD作。[Reactive|Async]CqlTemplate还提供了可以轻松获取低级 API 对象的回调方法,例如com.datastax.oss.driver.api.core.CqlSession,这使您可以直接与 Cassandra 通信。 Spring Data for Apache Cassandra 对各种 API 中的对象使用与 DataStax Java 驱动程序中的对象一致的命名约定,以便熟悉它们,以便您可以将现有知识映射到 Spring API 上。spring-doc.cadn.net.cn