Как подключить несколько баз данных в JPA? - PullRequest
3 голосов
/ 23 марта 2020

У меня есть приложение 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 базами данных. Я могу подключить его с помощью JDB C, там мне придется вручную писать код подключения.

Я искал решения. Некоторые находятся в спящем режиме с несколькими конфигурационными файлами. Другие используют JDB C.

Я пытался просмотреть весенние документы, если в файле application.properties есть условия для определения нескольких источников данных, но не смог ничего найти.

Я хотел бы знать, существует ли решение с использованием JPA один. Спасибо за ваше время.

Ответы [ 2 ]

1 голос
/ 23 марта 2020

Выполните следующие шаги:

  1. Добавьте дополнительную конфигурацию источника данных в ваш application.properties.

  2. Установите для SQL Dialect значение «Default» в вашем application.properties, чтобы 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

Надеюсь, это поможет:)

0 голосов
/ 23 марта 2020
<code>create Different DataSource bean in your configuration file. you should able to provide all db related configuration in beans

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


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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...