(1) REQUIRED
(2) REQUIRED_NEW
T2에서 문제가 생기면 T2내에서 롤백이 일어나고 T1은 영향을 받지 않는다.
(3) NOT_SUPPORTED
(1) READ_UNCOMMITTED
커밋되지 않은 데이터를 다른 트랜잭션에서 읽는 것을 허용한다는 의미이다.
(2) READ_COMMITTED
커밋 후 확정된 데이터만 읽는 것을 허용한다.
(3) REPEATABLE_READ
먼저 발생한 트랜잭션이 읽은 데이터는 트랜잭션이 종료될 때까지 다른 트랜잭션이 업데이트, 삭제하는 것을 방지한다. (일관성)
(4) SERIALIZABLE
먼저 발생한 트랜잭션이 읽은 데이터는 트랜잭션이 종료될 때까지 다른 트랜잭션이 업데이트, 삭제, 추가하는 것까지 방지한다. (완벽한 일관성)
SPRING에서 지정가능
DEFAULT는 내가 사용한 DB의 Isolation을 따른다는 의미이다.
출처: https://techannotation.wordpress.com/2014/12/04/5-minutes-with-spring-transaction-isolationlevel/