Lock
-
[JPA] Optimistic, Pessimistic LockJAVA/SPRING 2024. 8. 10. 16:06
낙관적 락(Optimistic Lock)낙관적 락은 사전에 테이블 로우에 락을 거는 방식이 아닌 충돌이 발생했을 경우에 대비하는 방식입니다.테이블에 특정 컬럼을 추가하여 조회 시점의 값과 저장하려는 시점의 값이 동일한지 확인하여 충돌을 방지하도록 동작합니다.이는 충돌 발생 빈도수가 낮은 상황에 적합하며 지속적인 락으로 인한 성능 저하를 막을 수 있습니다.아래는 Spring boot, JPA에서 낙관적 락을 적용하는 예시입니다.Entity@Entityclass UserEntity( id: Long, name: String, version: Int,) { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long..