【问题标题】:Two Spring Repositories for same entity - Different Datasources同一实体的两个 Spring 存储库 - 不同的数据源
【发布时间】:2017-05-15 09:23:59
【问题描述】:

我有一个场景,我有一个数据库,其中已经有一些记录。 我需要复制其他数据库中的信息,并在运行时导出数据源信息。

两个数据库中的实体模型保持不变,我所需要的只是将信息从一个迁移到另一个。

我发现的相关问题是:Two datasources using the same entities/repositories using spring data jpa

在解决方案中还提到使用“AbstractRoutingDataSource”,它可以从租户那里获取信息。

我的用例不完全适合那里,或者我不知道如何适合它。

我的要求是这样的

DataSource1 -> EntityManager1 -> Persistence Unit1.
DataSoruce2 -> EntityManager2 -> Persistence Unit2.

两个持久性单元都有相同的类集。

我需要做的

EntityRepo_associated_with_datasource1.find()  
 and then write them to  EntityRepo_associated_with_datasource2.saveAll().

对此有任何指示吗?

【问题讨论】:

    标签: java spring spring-data-jpa datasource


    【解决方案1】:

    如果您想同步 2 个数据库,请使用 liquibase API,不要尝试使用 JPA。

    您可以创建一个变更集,通过更新将数据库中的所有数据吹走,然后用复制集中的数据填充它。

    【讨论】:

    • 我们可以根据某些条件读取并仅复制那些选定的记录吗?
    • 是的,这并不简单,你必须重写一些 liquibase 类,但我已经尝试了两种方法,我认为 liquibase 是迄今为止最简单的。
    • 在不使用 liquibase 的情况下是否有实际的技术工作模型?
    猜你喜欢
    • 2015-07-06
    • 2018-03-30
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 2018-07-18
    • 2019-04-17
    • 1970-01-01
    相关资源
    最近更新 更多