使用Spring Boot,有没有办法使用相同的模型和存储库来拥有多个数据源?

时间:2019-04-19 06:42:36

标签: java spring spring-boot

我正在尝试使用相同的存储库和模型来配置具有两个数据源的Spring Boot应用程序,但是当Spring Boot启动时说存储库已经定义并且无法在Bean容器上创建另一个存储库。是的,我的意思是..我接受错误..但我想知道是否有任何方法可以做到这一点。下面是我想做什么的想法

  • 用于本地部署的Datasoruce(H2)----> com.myapp.repositories
  • 用于远程部署的数据源(SQLServer)----> com.myapp.repositories

我的问题是,即使我正在本地计算机上进行部署,也需要我的远程数据源来执行某些操作。在其他情况下,本地部署期间本地和远程数据源连接都应处于连接状态。

我实际上找到了三种解决方案:

  1. 第一个是@ Profile,@ Configuration是“ prod”,一个是“ dev” ..但在我看来,这是行不通的。
  2. 第二个是为每种配置放置不同的存储库软件包。这项工作有效,但是我上线时需要移动所有存储库。
  3. 第三种解决方案是始终进行两次配置,而不在远程数据源上指定basePackages。这项工作有效,但是我上线时需要更改此参数。

还有其他解决方案吗? 谢谢您的帮助。

0 个答案:

没有答案