事务监听
在Service层的方法上 加上 Traction注解即可:
@Traction(level = TractionLevel.READ_COMMITTED)
public int insert(){
return 1;
}
加了事务监听的方法,必须把异常抛出去,不可以在方法内部处理,不然监听器无法知道是否失败,会默认为执行成功
事务隔离级别:
- READ_COMMITTED
- READ_UNCOMMITTED
- REPEATABLE_READ
- SERIALIZABLE
READ_COMMITTED: 仅允许读取已提交的数据,即不能读脏,但是可能发生不可重读和幻读。
READ_UNCOMMITTED 允许读脏,不可重读,幻读。
REPEATABLE_READ 不可读脏,保证同一事务重复读取相同数据,但是可能发生幻读。
SERIALIZABLE 串行事务,保证不读脏,可重复读,不可幻读,事务隔离级别最高。
设置方法: 在Traction注解内传入参数
@Traction(level = TractionLevel.READ_COMMITTED)