|
此版本仍在开发中,尚未被视为稳定版本。如需最新稳定版本,请使用 Spring Data Cassandra 5.0.4! |
扩展
Kotlin 扩展 提供了为现有类添加额外功能的能力。Spring Data Kotlin API 利用这些扩展,为现有的 Spring API 增加了新的 Kotlin 特有便利功能。
|
请记住,Kotlin 扩展需要被导入后才能使用。 与静态导入类似,在大多数情况下,IDE 应该会自动提示导入。 |
例如,Kotlin 的具体化类型参数为 JVM 的泛型类型擦除问题提供了一种变通方案,而 Spring Data 提供了一些扩展来利用这一特性。 这使得 Kotlin API 更加完善。
要在 Java 中检索一个 SWCharacter 对象列表,你通常会编写如下代码:
Flux<SWCharacter> characters = template.query(SWCharacter.class).inTable("star-wars").all()
借助 Kotlin 和 Spring Data 扩展,你可以改为编写如下代码:
val characters = template.query<SWCharacter>().inTable("star-wars").all()
// or (both are equivalent)
val characters : Flux<SWCharacter> = template.query().inTable("star-wars").all()
与 Java 中一样,Kotlin 中的characters是强类型的,但 Kotlin 的智能类型推断允许使用更简洁的语法。
Spring Data for Apache Cassandra 提供了以下扩展:
-
对
CassandraOperations(包括异步和响应式变体)、CqlOperations(包括异步和响应式变体)、FluentCassandraOperations、ReactiveFluentCassandraOperations、Criteria以及Query提供具体化泛型支持。 -
协程(Coroutines) 对
ReactiveFluentCassandraOperations的扩展。