隔离级别:
Isolation.READ_UNCOMMITTED 读未提交
Isolation.READ_COMMITTED读已提交(会出现:不可重复读、 虚读)【Oracle的默认隔离级别】
repeatable_read (有可能会发生:虚读)【Mysql的隔离级别】
serializable 串行化【同一时间只有一个线程访问数据库】
不可重复读:一个事务读到了另一个事务已经提交的update数据【前后内容不一样】
虚读:一个事务读到另一个事务的insert数据【前后条数不一样】
传播行为(propagation):
Propagation.required:如果当前没事务就新建一个事务;如果当前有事务,就直接用当前事务。(默认值)
supports:支持当前事务,如果当前没事务,就以非事务方式执行(没事务);如果有事务,就直接用当前事务。
mandatory:使用当前事务,如果当前没有事务,就抛出异常;
requers_new:新建事务,如果当前存在事务,把当前事务挂起;
not_supported:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起;
never:以非事务方式执行,如果当前存在事务,抛出异常;
nested:如果当前存在事务,则再嵌套事务内执行;如果当前没有事务,则执行required类似的操作。
timeout:以秒为单位