我们需要为不同的teradata数据库用户提供多个数据源。现在,对于这些不同的数据源,我们如何配置多个事务管理器。
根据DB级别的权限和优先级,我们拥有不同的数据库用户。建议我们如何有效地使用spring配置事务管理。
答案 0 :(得分:0)
您可以像这样定义几个类型为transactionManager的bean:
<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注释中你可以使用一个定义的事务管理器,如下所示:
@Transactional(value = "hibernateTransactionManager", rollbackFor = { MyException.class })
安吉洛