【问题标题】:spring-data-cassandra how to implement generic repositoryspring-data-cassandra 如何实现通用存储库
【发布时间】:2016-07-04 08:16:44
【问题描述】:
我熟悉 Spring Data Repositories 概念,但是当我需要针对 100 个不同模型的标准 CRUD 时应该怎么做?创建 100 个存储库类看起来不是一个好的解决方案,尤其是当我需要的只是常规 CRUD,没有任何特定操作时。
如果您知道如何在 Spring Data Cassandra 中更好地处理该问题,请告诉我。谢谢!
【问题讨论】:
标签:
java
spring
spring-data-cassandra
【解决方案1】:
弗拉基米尔,
在一个应用程序中拥有 100 个域类可能是一种将事物分开的指标。 Spring Data Repositories 总是需要一个接口来创建存储库实例。恕我直言,您有两种可能性:
- 将
CassandraOperations 用于不需要专门的查询方法来按主键以外的属性查找项目的 CRUD 操作。
- 根据现有的
Repository 接口或您基本上提供所需功能的自己的接口创建一个自己的 存储库实现。在启动容器时,注册 bean 定义以创建存储库的实例。这显然消除了自定义查询方法的优势,但提供了比仅使用 CassandraOperations 更多的类型安全性。
也许两种可能性的混合都适合您的情况。
HTH,马克