【发布时间】:2017-02-08 00:03:25
【问题描述】:
我的 spring boot mvc 项目通过存储库接口与数据库交互,使用 Spring boot 默认配置可以很好地工作:
spring:
datasource:
url: jdbc:mysql://localhost/some_schema
username:
...
@Configuration
@EnableJpaRepositories(basePackages = {"my.path.to.repository"})
public class Application extends WebMvcConfigurerAdapter {
....
现在,根据某些运行时条件,我需要在单独的位置与 相同 第二个数据库(相同架构)进行交互。我发现的解决方案都指向为每个数据源创建一个单独的存储库包。
但是,由于数据库是相同的,是否有一种优雅的方法可以避免为每个添加的数据源复制存储库包?
【问题讨论】:
-
不,你必须复制。我会问你为什么需要另一个相同的架构,以及你认为通过“优雅”来节省什么。
-
一个“优雅”的解决方案是尽可能避免代码重复的解决方案。
-
这是配置。别无选择:您需要为打算使用的每个数据库进行配置。复制模式比编写三行配置要多得多。也许你应该消除重复的数据库。
-
最困扰我的是repository包的代码重复
-
感觉好像你没有抓住重点。您对代码进行了练习,但数据库重复是毫无疑问的。投票结束。
标签: database spring spring-boot spring-data-jpa