如何通过联接来自Spring Data JPA中不同数据库的2个表来运行本机查询?

Kri*_*ish 6 hibernate spring-data-jpa spring-boot multi-database-connections

我正在使用Spring Boot 1.5.18.RELEASE。

我使用以下链接关注了多个数据源:

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

这是我的情况:

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

在上述情况下,Spring Boot应用程序仅尝试检查服务器1中的表,结果我得到了sql异常之类的信息

SqlExceptionHelper - SQL Error: 1146, SQLState: 42S02

SqlExceptionHelper - Table 'datasource2.table2' doesn't exist

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 
'datasource2.table2' doesn't exist
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

小智 0

不,你不能这样做。由于每个 JPARepository 只属于 EntityManager,并且实体管理器与单个数据库相关。