我想使我的微服务与关系数据库和非关系数据库兼容,
目前,我有五个小的模块可以组成一个微服务:
控制器模块-包含我所有的控制器,并且对服务模块有依赖性
服务模块-包含与DB层进行通信以获取数据或发布数据的服务,并且显然依赖于数据层(common-db-modules)
Common-db-modules-此模块为数据层定义了合同(仅接口),以便与服务兼容
数据层-此模块提供了common-db-module定义的合同的具体实现。取决于数据库,可能会有多个数据层。这意味着一个用于Mongo DB,一个用于MySQL,等等
包装:包装模块的数量是根据使用的db定义的,包装包装
我的问题:有没有一种方法可以消除DB的这种通用契约,并且有一个数据层的单一实现,它将同时服务于关系型和非关系型DB?
答案 0 :(得分:0)
您不必自己构建数据层,Spring已经为您创建了数据访问对象(DAO)。使用能够从sql和nosql提取数据的JPA存储库。
请参考https://docs.spring.io/spring-data/jpa/docs/2.2.6.RELEASE/reference/html/#repositories
,您还需要配置..数据库