【问题标题】:One domain multiple Databases一域多数据库
【发布时间】:2018-02-27 21:38:09
【问题描述】:

我有两个具有完全相同表的数据库。 他们有相同的模型。 我想创建一个简单的 Spring Boot 应用程序,它将一些记录从一个数据库复制到另一个数据库。两个数据库来自同一个供应商。

理想情况下,我希望拥有一个域模型,并根据我的需要简单地分配足够的数据源,可能通过 @Qualified 注释。

另一种解决方法是复制域模型并为每个数据库创建两个配置。

解决这个问题的正确方法是什么?

提前谢谢你

【问题讨论】:

标签: spring-boot spring-data spring-data-jpa


【解决方案1】:

您应该使用两个 modules 创建一个项目:一个 - 使用您的模型,另一个 - 使用 two data sources 和这些数据库中每个实体的 repos。然后在第二个模块中,您可以处理来自两个数据源的数据。

例如:

Project:
  - module: 'model':
    - entity1
    - entity2
  - module: 'work'
    - data source #1:
      - repo1_1
      - repo1_2
    - data source #2:
      - repo2_1
      - repo2_2

其他信息:12

【讨论】:

  • 谢谢 Cepr0。为此,我创建了一个小演示:github.com/klearchos/spring-boot-multiple-data-sources
  • @Investigator 总的来说,没有必要使用多个模块(这在大型项目中变得很重要),你可以在一个模块中完成所有事情......主要是两个数据源必须引用相同的模型,但引用不同的存储库。
  • @Investigator,在您的项目中缺少 com.example.target.repo 包...有人有更好的解决方案吗?我需要 1 个模型的 6 个数据源。我想避免重复存储库...
  • 嗨@fandango 谢谢你的信息我会检查它。我不得不复制存储库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多