2014-04-09 2 views
1

우리는 서로 다른 Teradata 데이터베이스 사용자를 위해 여러 개의 데이터 소스가 있어야한다는 요구 사항이 있습니다. 이제 이러한 다양한 데이터 소스에 대해 다중 트랜잭션 관리자를 구성하는 방법을 설명합니다.Spring + Teradata를 사용하여 여러 트랜잭션 관리자를 구성하는 방법

DB 수준에서 주어진 권한과 우선 순위에 따라 다른 데이터베이스 사용자가 있습니다. Spring을 사용하여 트랜잭션 관리를 효과적으로 구성하는 방법을 제안하십시오.

+0

무엇을 시도 했습니까? – Thomas

+0

Spring jdbc 템플릿 용 DataSourceTransactionManager와 hibernate entitymanager 설정 용 JPAtransactionmanager를 사용했다. 우리는 JPA entitymanager와 연결된 하나의 데이터 소스와 spring JDBCTemplate이있는 하나의 데이터 소스를 가지고 있습니다. – Nik

답변

0

이 같은 유형의 transactionManager의 여러 빈을 정의 할 수 있습니다

@Transactional(value = "hibernateTransactionManager", rollbackFor = { MyException.class }) 

안젤로 :

<bean id="hibernateTransactionManager" 
    class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="hibernateSessionFactory" /> 
</bean> 

<bean id="hibernateTransactionManager2" 
    class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="hibernateSessionFactory" /> 
</bean> 

<bean id="hibernateTransactionManager3" 
    class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="hibernateSessionFactory" /> 
</bean> 

그런 다음 @Transactional 주석 봄에이 ​​같은 정의 된 트랜잭션 관리 프로그램 중 하나를 사용할 수 있습니다