DB

트랜잭션

격리수준

READ COMMITED에서는 Non-Repeatable Read과 Phantom Read 가 발생함

Non-repeatable Read는 커밋전 커밋후 조회가 다른 것이다. 이것은 A 트랜잭션에서 조회를 두번했는데 B트랜잭션에서 그 사이에 값을 커밋하면 다시 조회했을 때 값이 달라진다. 이건 용납되면 안되는 경우가 있다. (동일한 id을 가져올때)

위와 같은 Non-repeatable Read 문제를 해결함. A 트랜잭션에서 커밋전 값을 읽고 B에서 변경을 커밋하더라도 일단 읽었으면, 다시 조회해도 그 값을 리턴함.

Phantom Read는 값은 동일한테 새로운 값을 넣으면 전체조회를 할때, 곁다리로 추가되어 보이게된다. (Non-repeatable Read의 종류 중에 하나임)

한 트랜잭션에서 사용하는 데이터는 다른 트랜잭션에서 사용 불가.

기다려야한다는 뜻.

전파타입

스프링에서 제공하는 트랜잭션

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/1b10678f-2646-4d33-8ef1-da977d5a208c/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/667dd884-8eb8-447f-ba95-40e135259c8d/Untitled.png