如何在Spring Boot中配置位于不同服务器中的多个数据源?

时间:2019-06-02 05:23:47

标签: hibernate spring-boot spring-data-jpa multi-database-connections

我正在使用Spring Boot 1.5.18.RELEASE。

我使用以下链接关注了多个数据源: https://www.baeldung.com/spring-data-jpa-multiple-databases

但是当我在同一服务器上有数据源时,它可以工作。

这是我的情况: 1.一台服务器上的datasource1:server1 2.另一个服务器上的datasource2:server2 3.使用本地查询,我必须通过加入2个数据源来获取记录。

在上述情况下,Spring Boot应用程序仅尝试检查server1中的表,结果我得到类似

之类的sql异常。

原因:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:表'datasource1.table2'不存在

如何解决此问题?

2 个答案:

答案 0 :(得分:0)

不,您不能这样做。由于每个JPARepository仅在EntityManager上属于,而实体管理器则与单个数据库有关。

答案 1 :(得分:0)

如果您的表属于同一服务器(不考虑数据库(相同或不同)),则可以相互连接。 但是,如果它们属于不同的服务器,则MySql将其支持为FEDERATED Engine。您可以查看此question了解更多详细信息。