事务 写(乐观锁、悲观锁)
丢失更新:
悲观锁:一定会出现丢失更新
处理方式:查询的时候加上for update。类似于串行化隔离级别。
乐观锁:一定不会出现丢失更新
处理:要求程序员控制vsersion。
事务的传播行为(指事务嵌套)
1.required 依赖
2.nested 嵌套
3.requires_new 完全独立
--------------------------------------------------------------------------------------
@Transactional
public void demo(){
方式=required(兄弟级别的,有难同当)
public void in(){}
}
无论内外谁有异常,内外都会回滚
@Transactional
public void demo(){
方式=requires_new(陌生人级别,谁都不管谁)
public void in(){}
}
谁异常谁回滚,完全独立。
@Transactional
public void demo(){
方式=nested(孙子级别的,自己错了爷爷不管)
public void in(){内异常}
}
内回滚,外不回滚
@Transactional
public void demo(){
方式=nested(孙子级别的,听爷爷话)
public void in(){}
出异常
}
都回滚