具有相同存储库和实体的多个数据源

时间:2018-11-14 19:55:04

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

我目前有一个要求,就是在使用jpa的Spring Boot中允许针对同一存储库/实体使用多个数据源。

我设法找到的东西始终与具有多个存储库/实体的多个数据源相关。

但是,在这里我想为多个数据源使用相同的存储库和实体(即相同的数据库结构)。

并基于相同的属性,以编程方式激活特定的数据源。

我已尝试在此处进行设置演示:https://github.com/spring-projects/spring-data-examples/tree/master/jpa/multiple-datasources

并且在两种配置中,在factoryBean.setPackagesToScan()调用中使用相同的程序包。现在,这确实可行,但是一个数据源将覆盖另一个数据源。

我当前的测试可以在这里找到:https://github.com/nWidart/spring-data-multi-datasource/tree/master/src/main/java/com/example/multidatasources

它显示2个配置文件(client1和client2)以及存储库和实体。控制器对于两个数据源都有2个端点(不起作用)。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以按照以下步骤操作:


 1. application.properties(默认情况下):如您所见,您可以在数据源文件之间切换。  enter image description here  
 2. application-test.properties(样本)  enter image description here
希望对您有所帮助。 :D