728x90
반응형
비관적락
-
비관적 락(Pessimistic Lock)과 낙관적 락(Optimistic Lock) 차이 with JPA자바웹프로그래밍/JPA 2024. 12. 18. 16:07
1. 비관적 락(Pessimistic Lock)특징:데이터에 대한 충돌이 빈번할 것으로 예상될 때 사용하는 방법.데이터가 다른 트랜잭션에 의해 변경되지 않도록 **락(Lock)**을 이용해 강제적으로 제어.데이터에 접근하려는 시점에 바로 락을 걸어서 다른 트랜잭션이 데이터를 읽거나 수정하지 못하게 한다.데이터의 일관성을 보장하지만, 성능에 영향을 줄 수 있음.장점:데이터 충돌 가능성을 완벽히 방지.데이터의 신뢰성이 중요하거나 다수의 사용자 간 충돌이 예상될 때 적합.단점:락을 사용하기 때문에 성능이 저하될 가능성이 있음.데드락(Deadlock) 상황이 발생할 수 있음.JPA에서의 사용: JPA에서는 @Lock 어노테이션과 엔티티 매니저의 lock() 메서드를 통해 비관적 락을 구현합니다. @Lock(Lo..