1. SELECT FOR UPDATESELECT * FROM Student WHERE id = 1 FOR UPDATE;SELECT FOR UPDATE를 실행하면 조회된 레코드에 대해 LOCK이 설정되어 해당 세션이 UPDATE 쿼리를 완료하고 COMMIT 또는 ROLLBACK 할 때까지 다른 세션에서 해당 레코드를 수정할 수 없다. 2. SELECT FOR UPDATE FlOW2-1. 테스트 환경도커를 사용하여 테스트 환경을 구성한다.MysQL 이미지 설치 : docker pull mysql:latestMySQL 컨테이너 실행 : docker run --name test-mysql-container -e MYSQL_ROOT_PASSWORD=1234 -d -p 3313:3306 mysql:latest My..
Entity 조회 Service 레이어에서 DB에 접근할 때 Transaction 단위로 수행됩니다. 예를 들어, Member 테이블에 id 값이 1인 엔티티가 존재합니다. 해당 엔티티를 조회하기 위해서는 Transaction 단위로 조회해야 합니다. DB에서 엔티티를 조회하기 위해 MemberService를 정의합니다. MemberRepository를 의존성 주입을 받아 사용합니다. @Service public class MemberService { @Autowired MemberRepository memberRepository; @Transactional(readOnly = true) public Member findMember(Long id) { return memberRepository.findB..