낙관적 락

    [JPA] 비관적 락(Pessimistic Lock)과 낙관적 락(Optimistic Lock)

    JPA를 사용할때는 Transaction에 대한 격리 수준이 존재합니다. 여기서 @Transactional 어노테이션에 대해서 다루었었죠. 어노테이션의 기본값은 DB의 격리정책과 동일하게 가는 것으로 돼있는데, 대부분의 데이터베이스들은 ACID 원칙에서 격리성(Isolation)을 만족시키기 위해 READ COMMITED 수준을 사용합니다. 트랜잭션의 ACID 특성 원자성 (Atomicity): 부분적으로만 실행되거나 중단되지않는 것을 보장 일관성 (Consistency): 트랜잭션이 완료되면 일관적인 DB상태를 유지 격리성 (Isolation): 트랜잭션 수행시 다른 트랜잭션이 끼어들지 못하도록 보장 지속성(Durabuility): 성공적으로 수행된 트랜잭션은 영원히 반영 격리 수준에는 대표적으로 다음..