강의

멘토링

커뮤니티

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

HWAN님의 프로필 이미지
HWAN

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

간단한 주문 조회 V2: 엔티티를 DTO로 변환

영속성 컨텍스트 관련 질문 드립니다!

작성

·

170

0

선생님 안녕하세요^^ 
강의 너무 잘 듣고 있는 수강생 입니다.

API 개발 부분 수강하던 중 궁금증이 생겨 문의 드립니다.

기존 JPA 활용1 강의에서는 @Transactional이 적용되어있는 Service를 통해 Repository에 접근하여 해당 메서드의 트랜잭션 관리를 해주었었는데요.

이번 강의 같은 경우 Controller로 직접 관리를 하다보니 어느 시점에 트랜잭션 커밋이 되는지 좀 헷갈려 질문 드립니다. 

추가로, Controller -> Service -> Repository 순으로 접근한다고 가정하여 프로젝트를 만든다고 할 때,

Controller : api 요청/반환 관리, requestForm. responseForm 변형 관리

Service : 비즈니스 로직 관리, Repository 접근 관리

Repository : DB 접근 관리 

라고 컨셉을 잡은 후 강의와 같이 구현한다고 생각해보았는데요. 

이 때, Controller에서 Form 변형 관리를 한다고 하면 Service에서 Repository에 접근해 Lazy loading으로 데이터를 부른 후 Controller에 전달 했을 때, 불러온 데이터가 준영속 상태가 되어 V2 형식에서의 Form 변형은 사용하지 못하는게 아닌가 하는 생각이 들었습니다. 이럴 때를 대비하여 V3 같은 방식을 사용한다 라고 이해하였는데 잘 이해한 것일까요??

답변 1

1

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

안녕하세요. HWAN님^^

이제 마지막 퍼즐 조각이 남았습니다.

이번 강의 끝 부분에 OSIV와 성능 최적화 부분을 공부해보시면 궁금증이 풀리실거에요.

감사합니다.

HWAN님의 프로필 이미지
HWAN

작성한 질문수

질문하기