인프런 커뮤니티 질문&답변

highjune님의 프로필 이미지
highjune

작성한 질문수

스프링 DB 1편 - 데이터 접근 핵심 원리

DB 락 - 조회

select ~ for update 락

해결된 질문

작성

·

846

-1

안녕하세요 좋은 강의 항상 감사합니다.

해당 강의에서 조회 락을 위해서 세션1에서 select ~ for update 을 사용하잖아요? 해당 쿼리를 사용해서 lock을 얻은 상태인데요.

그런데 조회 중에 세션1(세션2 말고) 에서 바로 update 문을 날리게 된다면 바로 수정이 이루어지는데, 위 쿼리를 통해서 lock을 얻은 것은 update문을 날리게 되면 자동으로 반납이 됨과 동시에 update 문이 실행이 되는 것인가요?

 

감사합니다.

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. highjune님

세션1은 해당 락에 접근할 수 있는 권한이 있기 때문에 얼마든지 수정할 수 있습니다.(본인이 락을 걸었으므로)

그리고 반납은 트랜잭션을 커밋해야 락이 반납된다고 보시면 됩니다.

감사합니다.

highjune님의 프로필 이미지
highjune

작성한 질문수

질문하기