복붙노트

[SPRING] Hibernate와 Spring을 사용하는 JPA는 Jboss에서 설정 한 여러 데이터베이스 / 데이터 소스에 접근한다.

SPRING

Hibernate와 Spring을 사용하는 JPA는 Jboss에서 설정 한 여러 데이터베이스 / 데이터 소스에 접근한다.

두 개의 데이터베이스로 작업하기 위해 Spring 기반 애플리케이션을 구성해야하는 요구 사항이 있습니다. 우리는 실제 데이터를 유지하는 데 사용되는 데이터베이스와 다른 데이터베이스가 데이터웨어 하우스로 사용되며 보관 된 데이터 (Live db와 동일한 구조)를 포함하는 두 개의 데이터베이스를 보유합니다.

간단하게하기 위해 제품을 검색하라는 요청이 있다고 가정합니다. 응용 프로그램에서 수행해야하는 작업은 Live 데이터베이스에서 제품 세부 사항을 검색하는 것입니다. 찾지 못하면 아카이브 데이터베이스를 검사합니다.

이러한 설정을 구성해야하는 경우에도 데이터 소스를 구성해야하며 검색 코드가 라이브 데이터베이스를 확인하기 위해 첫 번째 데이터 소스를 사용해야하고 찾지 못한 경우 아카이브 데이터베이스를 사용하여 다른 쿼리가 실행됩니까?

위의 코드는 아마도 실행 가능하지만이 작업을 수행하는 더 좋은 방법이 있는지 궁금해하고 있습니다. 예를 들어 응용 프로그램이 실제로 두 개의 데이터베이스에서 작동하는 경우에도 단일 데이터 소스에서 작동 할 수 있습니까?

이 애플리케이션은 Spring, JPA / Hibernate, SOAP 및 Mysql 데이터베이스를 기반으로하며 Jboss 7은 애플리케이션 서버로 사용됩니다.

이것이 Spring과 Jboss를 사용하여 어떻게 구성되는지 보여주는 예제는 매우 유용 할 것입니다.

감사

해결법

  1. ==============================

    1.Spring은 여러분이 원하는 바로 그 것을 가지고 있습니다 - AbstractRoutingDataSource. 이 블로그 게시물을 사용하는 방법을 참조하십시오. 귀하의 경우에는 하나의 요청 중에 데이터 소스를 전환해야하므로 ThreadLocal에서 데이터 소스 표시기를 변경하여 두 개의 트랜잭션이 필요합니다.

    Spring은 여러분이 원하는 바로 그 것을 가지고 있습니다 - AbstractRoutingDataSource. 이 블로그 게시물을 사용하는 방법을 참조하십시오. 귀하의 경우에는 하나의 요청 중에 데이터 소스를 전환해야하므로 ThreadLocal에서 데이터 소스 표시기를 변경하여 두 개의 트랜잭션이 필요합니다.

  2. from https://stackoverflow.com/questions/10674051/using-spring-jpa-with-hibernate-to-access-multiple-databases-datasources-config by cc-by-sa and MIT license