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


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

낙관적 락, 비관적 락에 대해 JPA를 사용하여 데이터베이스와 연결된 애플리케이션을 개발할 때, 동시성 처리와 관련된 이슈가 발생할 수 있다. 이러한 이슈를 해결하기 위한 방법 중 하나는 락(lock)을 사용하는 것이다. 이번 포스팅에는 낙관적 락과 비관적 락에 대해 알아보고, 예제코드와 이를 사용하는 이유 및 장단점을 함께 써보겠다. 낙관적 락(Optimistic Lock) 낙관적 락은 충돌이 거의 발생하지 않을 것이라고 가정하고, 충돌이 발생한 경우에 대비하는 방식이다. 낙관적 락은 JPA에서 버전(Version) 속성을 이용하여 구현할 수 있다. 낙관적 락의 특징으로는 충돌 발생확률이 낮고, 지속적인 락으로 인한 성능저하를 막을 수 있다. 아래는 예시 코드이다. 1. Entity @Entity pu..


원문링크 : [JPA] 낙관적 락(Optimistic Lock)과 비관적 락(Pessimistic Lock)에 대해