inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

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

176

HWAN

작성한 질문수 5

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 같은 방식을 사용한다 라고 이해하였는데 잘 이해한 것일까요??

spring JPA java spring-boot

답변 1

1

김영한

안녕하세요. HWAN님^^

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

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

감사합니다.

@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.

0

33

2

강의 관련 외 질문입니다.

0

91

2

SpringBoot4 + Hibernate7 모듈 등록 방법 공유

1

113

1

BeanCreationException

0

105

3

Update 후 UpdateMemberResponse 매핑할 때

0

66

1

트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?

0

111

2

페이징 + 검색조건 관련해서 질문드립니다.

0

77

1

Query Dsl Q파일 질문입니다.

0

92

1

루트 쿼리라는것은

0

68

1

메서드를 분리하는 기준

0

76

1

findAllWithMemberDelivery 메서드 질문드립니다.

0

123

3

연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략

0

97

2

fetch join과 영속화와 OSIV의 관계

0

102

2

Distinct 사용 전 결과에 대한 의문

0

125

2

레포지토리 계층에서의 트랜잭션에 대한 의문

0

65

1

영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.

0

83

2

dto 필드 속 엔티티 여부

0

67

1

뷰템플릿 사용 시

0

86

2

Result 클래스 관련 질문

0

59

1

@PostConstruct 프록시 관련 질문드립니다

0

91

1

DTO 대신 Form 사용은 안되나요?

0

142

1

OSIV ON 상태일 때

0

102

1

fetch join VS fetch join 페이징 궁금증

0

192

2

양방향 연관관계 알아보는 법?

0

113

1