日积月累
曾经迷恋于Delphi的优雅,但Borland已经离我很遥远了。
如日中天的Java,怎么混杂着数不清的括号、纠缠不清的Checked Exception和叫人不胜其烦的XML配置文件。
开发语言的新贵Ruby和Rails,会是Web快速开发领域的王冠吗?
稍嫌笨拙的ABAP,又是如何支撑起SAP这个巨型的企业应用系统?
-
关于Spring声明性事务的几种定义方式
2008-03-12
PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
PROPAGATION_SUPPORTS -- 支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY -- 支持当前事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW -- 新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED -- 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER -- 以非事务方式执行,如果当前存在事务,则抛出异常。
PROPAGATION_NESTED -- 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与PROPAGATION_REQUIRED类似的操作。对照一下,自己以前的理解确实有错误,结果就是单独定义几个没有事务的Service,调用的时候需要嵌入到其他Service方法中,认为这样才能能保证两个Service方法在一个事务里面执行。实际上声明为PROPAGATION_REQUIRED就可以了。
详细的说明请参见下面的文章:解惑Spring嵌套事务
共1页 1


