| name
| 是 | |
与事务属性关联的方法名。通配符(*)可以用来指定一批关联到相同的事务属性的方法。 如:'get*'
、'handle*'
、'on*Event'
等等。
|
| propagation
| 不 | REQUIRED | 事务传播行为
REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
MANDATORY:支持当前事务,如果当前没有事务,就抛出异常。
REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。
NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
NESTED:支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务。
|
| isolation
| 不 | DEFAULT | 事务隔离级别 |
| timeout
| 不 | -1 | 事务超时的时间(以秒为单位) |
| read-only
| 不 | false | 事务是否只读? |
| rollback-for
| 不 | |
将被触发进行回滚的 Exception(s)
;以逗号分开。 如:'com.foo.MyBusinessException,ServletException'
|
| no-rollback-for
| 不 | |
不 被触发进行回滚的 Exception(s)
;以逗号分开。 如:'com.foo.MyBusinessException
|
实例:(详细列举了各类配置方式)
在spring配置文件中添加如下代码
<bean id=“transactionManager”
class=“org.springframework.orm.hibernate4.HibernateTransactionManager”>