4.1.4 编写 Cassandra Repository

正如您在第 3 章中看到的,编写一个基于 Spring Data 的 Repository,只需要声明扩展自 Spring Data 的基础接口。以及有选择性地,声明一些自定义查询的其他查询方法。事实证明,编写 Cassandra Repository 也没有什么不同。

事实上,在我们已经编写的 Repository 几乎不需要更改,就可以适配 Cassandra 持久化。例如,考虑我们在第 3 章中创建的 IngedientRepository:

package tacos.data;

import org.springframework.data.repository.CrudRepository;

import tacos.Ingredient;

public interface IngredientRepository
  extends CrudRepository<Ingredient, String> {
}

通过扩展 Crudepository, IngredientRepository 现在准备好了持久化 ID 属性(对于 Cassandra 来说是主键属性)是 String 类型的 Ingredient 对象。真是太棒了!IngredientRepository 完全不用更改。

OrderRepository 所需的更改只要稍微多一些。当扩展 CrudRepository 时,指定的 ID 参数的类型不是 Long,而是 UUID。

package tacos.data;

import java.util.UUID;

import org.springframework.data.repository.CrudRepository;

import tacos.TacoOrder;

public interface OrderRepository
    extends CrudRepository<TacoOrder, UUID> {
}

Cassandra 很强大,当它与 Spring Data 结合,您就可以在 Spring 应用程序中体验到这些强大功能。现在让我们转移注意力,来看看另一个 Spring Data 支持的数据库:MongoDB。

results matching ""

    No results matching ""