• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

@Transactional의 범위

20.09.21 16:13 작성 조회수 126

0

여기서 =======의 사이에 select 쿼리가 나가야 할것 같은데 안나가네요...

memberService.update 메소드 호출해서 update 메소드의 @Transactional로 트랜잭션이 시작하고 메소드가 종료되면

트랜잭션이 끝나서 영속성 컨텍스트가 사라지는거 아닌가요?? 그렇다면 memberService.findOne 메소드를 호출시

영속성 컨테스트는 아무것도 없으니 select 쿼리 날려서 해당 엔티티를 영속화 시켜야 하는거 아닌가요?

답변 1

답변을 작성해보세요.

0

안녕하세요. m s님^^

우와 정말 강의를 제대로 학습하고 잘 따라오셨네요!

기본적으로 트랜잭션의 생존범위와 영속성컨텍스트의 생존범위가 같은 것이 맞습니다.

그런데 스프링 부트가 고객의 요청이 나갈 때 까지 영속성 컨텍스트를 유지해주는 약간 특수한 뭔가를 해줍니다^^

자세한 내용은 조금뒤에(조금 많이 뒤네요 ㅎㅎ)

섹션 5. API 개발 고급 - 실무 필수 최적화 -> OSIV와 성능 최적화

에서 설명드릴께요^^!

혹시 해당 내용을 보시고 더 궁금한 내용이 있으면 편하게 질문주세요.