数据库事务传播行为
解决方法:
1.propagation_required:如果当前线程线程没有事务,就创建一个新事务,如果当前线程存在事务,就加入该事务,这是默认的设置。
2.propagation_supports:支持当前线程事务,如果当前线程存在事务,就加入该事务,如果当前线程不存在事务,就以非事务执行。
3.propagation_mandatory:支持当前线程事务,如果当前线程存在事务,就加入该事务,如果当前线程不存在事务,就抛出异常。
4.propagation_requires_new:创建新事务,无论当前线程存不存在事务,都创建新事务。
5.propagation_not_supports:以非事务方式执行操作,如果当前线程存在事务,就把当前线程事务挂起。
6.propagation_never:以非事务方式执行,如果当前线程存在事务,则抛出异常。
7.propagation_nested:如果当前线程存在事务,则创建子事务嵌套在父事务(指当前存在的事务)内执行。如果当前线程没有事务,则执行与propagation_required类似的操作。