说到事务,就要说事务的隔离级别:
事务还有回滚,这里也有回滚的控制属性:
rollbackFor可以指定对遇到什么异常回滚事务:默认是所有的运行时异常都要回滚,这个属性,知道就行,一般就取默认值,不修改!
指定事务是只读事务:
这个属性比较重要:一般情况下在实际项目中,我们对查询的方法都把事务设置为只读,对增、改、删的方法才设置为可写事务,原因是Spring底层可以给我们做优化,增加对数据库的访问效率!
下一个属性是timeout属性,单位是秒,设置事务的超时实际,超过这个超时时间就强制事务回滚,这样子做为了防止一个事务占用数据库链接的时间过长: