事物的四個特性
原子性:對數(shù)據(jù)進行操作的時候,要么全都執(zhí)行笼沥,要么全都不執(zhí)行。
一致性:和原子性是分不開的娶牌,事務(wù)執(zhí)行成功奔浅,說明全部都執(zhí)行了,那么就使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀了诗良。
隔離性: 一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾
持續(xù)性: 事務(wù)一旦提交成功汹桦,那么數(shù)據(jù)庫里的數(shù)據(jù)就會永久性的改變。
@Transactional 實質(zhì)是使用了 JDBC 的事務(wù)來進行事務(wù)控制的
@Transactional 基于 Spring 的動態(tài)代理的機制
@Transactional 事務(wù)不生效的場景
@Transactional 加于private方法, 無效
@Transactional 加于未加入接口的public方法,再通過普通接口方法調(diào)用, 無效
@Transactional 加于接口方法后, 被本類普通接口方法直接調(diào)用, 無效
@Transactional 加于接口方法, 無論下面調(diào)用的是private或public方法, 都有效
@Transactional 加于接口方法后,被本類普通接口方法通過接口調(diào)用, 有效
@Transactional 加于接口方法后, 被它類的接口方法調(diào)用, 有效
@Transactional 加于接口方法后, 被它類的私有方法調(diào)用后, 有效