常见的事务传播行为主要有两种:REQUIRED 和 REQUIRES_NEWjava
@Transactional(propagation = Propagation.REQUIRES_NEW, isolation=Isolation.READ_COMMITTED, readOnly=false, timeout=3)
也能够经过 xml 的方式定义:xml
<tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!-- 根据方法名指定事务的属性 --> <tx:method name="purchase" propagation="REQUIRED"/> <tx:method name="*"/> </tx:attributes> </tx:advice>
只有一个事务,因此即使帐户的余额够一本书,最后也会所有回滚:blog