Maison >Java >javaDidacticiel >Comment connecter plusieurs référentiels JPA Spring Data à différentes sources de données dans Spring Boot ?
Spring Boot, Spring Data JPA avec plusieurs sources de données
La connexion de plusieurs référentiels à différentes sources de données est possible à l'aide de Spring Boot et Spring Data JPA. L'article de blog référencé fournit une solution, mais voici une approche plus détaillée :
Configuration :
Créez des classes de configuration distinctes pour chaque source de données. Vous trouverez ci-dessous des exemples pour deux sources de données :
CustomerDbConfig (première source de données)
<code class="java">@Configuration @EnableJpaRepositories( entityManagerFactoryRef = "customerEntityManager", transactionManagerRef = "customerTransactionManager", basePackages = {"com.mm.repository.customer"}) public class CustomerDbConfig { // Bean definitions for data source, entity manager factory, and transaction manager for first data source }</code>
OrderDbConfig (deuxième source de données)
<code class="java">@Configuration @EnableJpaRepositories( entityManagerFactoryRef = "orderEntityManager", transactionManagerRef = "orderTransactionManager", basePackages = {"com.mm.repository.order"}) public class OrderDbConfig { // Bean definitions for data source, entity manager factory, and transaction manager for second data source }</code>
Entités :
Définir des entités (modèles) pour chaque source de données, telles que :
<code class="java">@Entity @Table(name = "customer") public class Customer { // ... } @Entity @Table(name = "order") public class Order { // ... }</code>
Référentiels :
Créez des référentiels pour chaque entité, tels que :
<code class="java">public interface CustomerRepository extends JpaRepository<Customer, Integer> {} public interface OrderRepository extends JpaRepository<Order, Integer> {}</code>
Application (classe principale) :
Dans la classe d'application principale, assurez-vous que tous les beans nécessaires sont créés et le contexte de l'application Spring est configuré.
<code class="java">@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }</code>
Propriétés :
Configurez les deux sources de données dans le fichier application.properties, y compris des détails tels que l'URL, le nom d'utilisateur, le mot de passe et le nom de la classe du pilote.
<code class="properties"># Customer Data Source spring.datasource.primary.url=... spring.datasource.primary.username=... spring.datasource.primary.password=... spring.datasource.primary.driverClassName=... # Order Data Source spring.datasource.secondary.url=... spring.datasource.secondary.username=... spring.datasource.secondary.password=... spring.datasource.secondary.driverClassName=...</code>
Dépannage :
Si vous rencontrez des exceptions liées à des beans manquants ou en double, assurez-vous que :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!