【问题标题】:How to use JpaRepository for two different datasources?如何将 JpaRepository 用于两个不同的数据源?
【发布时间】:2021-11-02 00:05:54
【问题描述】:
我有两个数据源配置文件,它们成功地允许我的 spring 应用程序连接到雪花数据库和另一个 mysql 数据库。我想为这两个数据库创建两个 JpaRepositories,但两个 JpaRepositories 都指向 mysql 数据库。将 JPA 用于两个不同的数据库的方法是什么?我在网上真的找不到任何好的信息
【问题讨论】:
标签:
java
sql
spring-boot
spring-data-jpa
snowflake-cloud-data-platform
【解决方案1】:
您可以像这样注释每个配置文件:
@EnableJpaRepositories(
entityManagerFactoryRef = "snowFlakeEntityManager",
transactionManagerRef = "snowFlakeTransactionManager")
在这里,您为雪花db 指定了一个JpaRepo 的名称,您可以对mysql 执行相同的操作。
然后在 Repository 类中,您可以使用您之前在配置文件中指定的名称注释实体管理器:
@PersistenceContext
@Qualifier("snowFlakeEntityManager")
EntityManager snowFlakeEntityManager;