spring的@Transactional为什么不能指定TransactionManager?
用过spring的人应该都使用过@Transactional注解了
在只有一个TransactionManager时没有问题
配置如下:
<!-- 事务配置 --><bean id="transactionManager" ref="sessionFactory" /></bean><!-- 使用annotation定义事务 --><tx:annotation-driven transaction-manager="transactionManager" proxy-target-name="code">@Transactional(transactionManager=DataSourceTransactionManager)
实现起来应该不难吧
1 楼 goodnight 2010-06-10 对啊,这个我之前也有遇到,后来直接用AOP配置了。
它只支持一个TransactionMamanger实在头疼。 2 楼 wpfwupengfeiwpf 2010-06-12 不清楚,期待牛人来解决 3 楼 grave 2010-06-12 你可以自己整一个 4 楼 miaow 2010-06-13 小声说:用到两个TxMgr的时候能保证事务么。是得保证任何时候只用其中一个吧。
这个就把事务处理乃至持久化层的考虑要暴露到前面的层次了,不好吧。 5 楼 daquan198163 2010-06-13 如果混合使用了hibernate和jdbc的话,应该用HibernateTransactionManager 6 楼 lovbreath 2010-07-12 daquan198163 写道如果混合使用了hibernate和jdbc的话,应该用HibernateTransactionManager
right,这个时候都会被HibernateTransactionManager管理 7 楼 terryjs 2010-07-12 只要 hibernate和jdbc的connection来自同一个,就可以直接用HibernateTransactionManager同时管理 8 楼 Norther 2010-07-12 当然可以指定,
<tx:annotation-driven transaction-manager="yourTransactionManager"/> 9 楼 lovbreath 2010-07-19 Norther 写道当然可以指定,
<tx:annotation-driven transaction-manager="yourTransactionManager"/>
是在写@Transactional的时候指定。 10 楼 zhengwei49 2010-08-03 用Spring 3吧,新增了value
@Transactional properties
PropertyTypeDescription
valueStringOptional qualifier specifying the transaction manager to be used.
@Transactional("order")
public void setSomething(String name) { ... }