【问题标题】:How to connect multiple databases in JPA?如何在 JPA 中连接多个数据库?
【发布时间】:2020-07-04 01:17:06
【问题描述】:

我有一个 Spring Boot 应用程序,它当前使用 JPA 连接到单个数据库。其 application.properties 文件中的连接详细信息:

spring.datasource.url=jdbc:oracle:thin:@localhost:1522:orcl
spring.datasource.username=example
spring.datasource.password=example
spring.datasource.driver.class=oracle.jdbc.driver.OracleDriver

现在我想连接一个新数据库,所以我的应用程序现在连接了 2 个数据库。我可以使用 JDBC 连接它,我将不得不手动编写连接代码。

我一直在寻找解决方案。有些处于休眠状态,具有多个配置文件。其他人正在使用 JDBC。

如果有在 application.properties 文件中定义多个数据源的规定,我尝试查看 spring 文档,但找不到任何内容。

我想知道是否存在单独使用 JPA 的解决方案。感谢您的宝贵时间。

【问题讨论】:

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


【解决方案1】:

在配置文件中创建不同的 DataSource bean。您应该能够在 beans 中提供所有与 db 相关的配置:

@Bean
public DataSource db1(String url, String dbuser, String password) {
} 


@Bean
public DataSource db2(String url, String dbuser, String password) {
} 

【讨论】:

    【解决方案2】:

    按照以下步骤操作:

    1. 向您的 应用程序.properties。

    2. 在您的 application.properties 中将 SQL 方言设置为“默认”以 让 Spring 自动检测每个数据源的不同 SQL 方言

    3. 使用两个嵌套包为每个数据源创建一个 Java 包
    4. 为第一个数据库创建配置类
    5. 为第二个数据库创建配置类
    6. 为第一个数据库创建实体
    7. 为第一个数据库创建存储库
    8. 为第二个数据库创建实体
    9. 为第二个数据库创建存储库

    这里有完整的代码,

    https://github.com/jahe/spring-boot-multiple-datasources
    

    以上步骤取自本教程

    https://medium.com/@joeclever/using-multiple-datasources-with-spring-boot-and-spring-data-6430b00c02e7
    

    希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 2016-12-12
      • 1970-01-01
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-03
      相关资源
      最近更新 更多