READ COMMITED에서는 Non-Repeatable Read과 Phantom Read 가 발생함
Non-repeatable Read는 커밋전 커밋후 조회가 다른 것이다. 이것은 A 트랜잭션에서 조회를 두번했는데 B트랜잭션에서 그 사이에 값을 커밋하면 다시 조회했을 때 값이 달라진다. 이건 용납되면 안되는 경우가 있다. (동일한 id을 가져올때)
위와 같은 Non-repeatable Read 문제를 해결함. A 트랜잭션에서 커밋전 값을 읽고 B에서 변경을 커밋하더라도 일단 읽었으면, 다시 조회해도 그 값을 리턴함.
Phantom Read는 값은 동일한테 새로운 값을 넣으면 전체조회를 할때, 곁다리로 추가되어 보이게된다. (Non-repeatable Read의 종류 중에 하나임)
한 트랜잭션에서 사용하는 데이터는 다른 트랜잭션에서 사용 불가.
기다려야한다는 뜻.
스프링에서 제공하는 트랜잭션