rollback-for 属性配置事务的回滚策略


默认的回滚策略:
任何RuntimeException将触发事务回滚,但是任何checked Exception将不触发事务回滚。

rollback-for="java.lang.Exception"

一切继承与java.lang.Exception的异常将会引发事务回滚。

[b]*service中的异常。发生回滚的前提是service层抛出异常,try catch 的异常发生不会引发事务回滚。[/b]

只读事务:在执行多条sql语句看到执行前点的数据状态,保证数据一致性。

Oracle默认情况下(没有事务) 保证了SQL语句级别的读一致性,即在一条SQL语句执行期间,它只会看到执行前点的数据状态,而不会看到执行期间数据被其他SQL改变的状态。
所以如果执行多条SQL的时候呢?比如你做一个报表查询,在执行完第一条sql的时候,执行第二条查询SQL,而这个之间有数据被改变了,第二条数据查询就有可能不一致。
而Oracle的只读查询则保证了事务级别的读一致性,即在该事务范围内执行的多条SQL都只会看到执行前点的数据状态,而不会看到事务期间的任何被其他 SQL改变的状态。
没有事务的时候,在执行一条sql语句看到执行前点的数据状态,保证数据一致性

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6