Spring Boot 및 Spring Data JPA를 사용하여 여러 데이터 소스에 연결할 수 있습니다. 이를 수행하려면 @EnableJpaRepositories 주석을 사용하여 저장소의 기본 패키지를 지정하고 @EnableTransactionManagement 주석을 사용하여 트랜잭션 관리를 활성화할 수 있습니다. 그런 다음 리포지토리 메서드의 @Transactional 주석을 사용하여 각 메서드에 사용할 데이터 소스를 지정할 수 있습니다.
예를 들어 다음 코드는 두 개의 데이터 소스에 연결하도록 Spring Boot를 구성하는 방법을 보여줍니다.
<code class="java">@Configuration @EnableJpaRepositories( entityManagerFactoryRef = "orderEntityManager", transactionManagerRef = "orderTransactionManager", basePackages = {"com.mm.repository.customer"}) public class CustomerDbConfig { @Bean(name = "customerEntityManager") public LocalContainerEntityManagerFactoryBean entityManagerFactory(){ // ... } // ... } @Configuration @EnableJpaRepositories( entityManagerFactoryRef = "orderEntityManager", transactionManagerRef = "orderTransactionManager", basePackages = {"com.mm.repository.order"}) public class OrderDbConfig { @Bean(name = "orderEntityManager") public LocalContainerEntityManagerFactoryBean entityManagerFactory(){ // ... } // ... }</code>
이 코드는 각 데이터 소스에 하나씩 두 개의 EntityManagerFactory Bean을 생성합니다. 그런 다음 저장소 메소드의 @Transactional 주석은 각 메소드에 사용할 EntityManagerFactory를 지정합니다. 예를 들어, 다음 코드는 @Transactional 주석을 사용하여 findCustomer 메소드가 customerEntityManager Bean을 사용해야 함을 지정하는 방법을 보여줍니다.
<code class="java">@Repository public interface CustomerRepository { @Transactional(value = "customerEntityManager") Customer findCustomer(Integer id); // ... }</code>
예외를 시도할 때 예외가 발생하는 경우 여러 데이터 소스에 연결하려면 다음을 확인하는 것이 중요합니다.
위 내용은 Spring Boot 및 Spring Data JPA를 사용하여 여러 데이터 소스에 연결하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!