inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

트랜잭션 - 적용2

MemberServiceV2Test관련 질문 드립니다!

594

yongeun612

작성한 질문수 1

3

[질문 템플릿]

1. 강의 내용과 관련된 질문인가요? 예

2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예

3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

 

[질문 내용]

MemberServiceV2Test를 보면

 

memberRepository에서 accountTransfer(정상 이체) 테스트를 보면 V1버전과는 다르게 findById를 할 때 트랜잭션의 커넥션을 유지하기 위해 Connection을 파라미터로 전달을 받아서 실행을 해야되는 것으로 알고 있습니다.

 

하지만 강의에서는 MemberServiceV2Test에서 findById를 사용할 때 memberId 파라미터만 전달하여 V1의 Repository를 사용하고 있는 것 같아서 질문 드립니다.

 

요약:

MemberServiceV2Test 의 accountTransfer() 테스트에서

이 소스코드를

 

를 전역 필드에 선언하고

이렇게 소스코드를 수정해야 하는 것이 아닌가 생각해서 질문 드립니다.

 

---------------------------------

추가

 

MemberRepositoryV2 클래스에서 findById 메서드가 

findById(String memberId)

findById(Connection con, String memberId)

두 개가 동시에 존재해서 강의의 경우도 실행이 된 것 같습니다.

큰 문제는 아니지만 하나의 트랜잭션 내에서 findById(String memberId) 메서드로 여러번 호출할 경우 커넥션이 유지가 안되는 것이 맞는지.. 궁금합니다.

긴 질문 글 읽어주셔서 감사합니다.

 

 

항상 좋은 강의 감사합니다!!

spring

답변 1

3

김영한

안녕하세요. yongeun612님

질문 주신 것 처럼 이 경우 테스트에서는 서로 다른 커넥션이 사용되는 것이 맞습니다.

  • memberService.accountTransfer() //다른 커넥션(내부에서는 같은 커넥션)
  • findById() //다른 커넥션
  • findById() //다른 커넥션

여기서 중요한 것은 accountTransfer()안에서만 같은 커넥션이 사용되면 됩니다. accountTransfer()의 시작과 끝이 트랜잭션 범위이니까요^^

테스트에서는 accountTransfer()를 통해 저장된 데이터가 잘 저장되었는지 확인하는 것이 목적이기 때문에, 이 경우 같은 커넥션을 사용해도 되고, 다른 커넥션을 사용해도 됩니다.

감사합니다.

0

yongeun612

감사합니다!

spring initialiser 어떤걸 선택해야될지 모르겠어요

0

32

2

트랜잭션 템플릿이 체크예외는 커밋하는 이유가 궁금합니다.

0

51

1

jdbc 학습하다 궁금해서 질문드려요

0

82

1

정상이체와 이체중 예외발생 차이

0

68

2

이번 강의부터가 JDBC 직접 사용 맞나요?

0

88

1

순수한 서비스 계층에 대한 의문???

0

82

2

3_4test, 4test 자동 리소스 안됨

0

58

2

데이터베이스 선택 관련 질문.

0

68

2

after 메서드 사용 유무

0

57

2

데이터베이스 접근 및 DB 락

0

55

1

@SpingBootTest, @TestConfiguration

0

56

1

Read Committed 격리 수준 사용 관련 질문

0

48

1

AopCheck Test 부분의 EnhancerBySpring 확인 법??

0

66

2

커리큘럼 관련 질문

0

76

1

서비서 계층 스프링 프레임워크 사용

0

88

1

validation(toMember)의 위치

0

83

2

데이터 계층에서 서비스 로직의 datasource를 인식하는 방법

0

165

2

member 상수 질문

0

121

2

ctrl + F6 이후로 con 인식이 안 됩니다

0

153

2

DrivenManager 와 Connection 반환에 대한 질문입니다!

0

109

1

섹션5 트랜잭션 템플릿관련 질문(이기종 DB)

0

116

1

세션1 테이블 조회결과 그림은 Redo 로그에 속하나요?

0

100

1

트랜잭션이 필요하지 않은 경우 DB 대신 파일 시스템을 사용하는 것이 더 효율적인가?

0

98

1

강의 14분쯤 Exception 질문

0

115

2