hibernate - 如何通过在Spring data jpa中连接来自不同数据库的2个表来运行 native 查询?

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

我正在使用 Spring boot 1.5.18.RELEASE。

我使用以下 link 跟踪了多个数据源:

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

这是我的案例:

  1. 数据源 1 位于一台服务器:server1
  2. 数据源2位于另一台服务器:server2
  3. 使用 native 查询,我必须通过连接 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

如何解决这个问题?

最佳答案

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

关于hibernate - 如何通过在Spring data jpa中连接来自不同数据库的2个表来运行 native 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56412404/

相关文章:

java - com.fasterxml.jackson.core.JsonParseException : Unrecognized token

java - 在JPA中,只使用一种get方法,就能从不同的表中获取数据吗?

Spring 数据 JPA 和 Spring 数据 Elasticsearch ;找不到类型的属性索引?

java - 异常 java.lang.OutOfMemoryError : GC overhead limit exceeded with tree map

spring-boot - Heroku Spring application.properties 文件

java - 创建完美的 JPA 实体

java - NoSuchBeanDefinitionException : No qualifying bean of type 'org.springframework.boot.web.reactive.error.ErrorAttributes' available:

java - 带有 LIKE 和 IgnoreCase 的 Spring Data CrudRepository @Query

hibernate - 在 CF-ORM/Hibernate 中记录谁更新了什么的最简洁方法?

java - 如何在同一个应用程序中同时使用 Spring JPA 和 Hibernate?