两个相同实体的Spring存储库 - 不同的数据源

时间:2017-05-15 09:23:59

标签: java spring spring-data-jpa datasource

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

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

我发现的相关问题是: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().

关于此的任何指示?

1 个答案:

答案 0 :(得分:0)

如果要同步2个数据库,请使用liquibase API,不要尝试使用JPA执行此操作。

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