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

nwj1016님의 프로필 이미지
nwj1016

작성한 질문수

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

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

프록시 관련 질문입니다...

작성

·

254

0

안녕하세요 질문드리고 싶은 것이 있어 글을 남기게 되었습니다.

 

v1에서 Order 와 Member 가 지연로딩으로 되어 있기 때문에 실제 엔티티 대신 프록시가 존재하고, jackson 라이브러리는 프록시 객체를 json 으로 어떻게 생성하는지 모르기 때문에 Hibernate5JakartaModule 을 스프링 빈으로 등록한다고 이해했습니다.

 

그리고 v2 를 실행할 때 Hibernate5JakartaModule 을 제거하고 실행했을 때 정상적으로 응답되는 것을 확인했습니다.

 

그래서 제가 이해한 바로는 Entity 를 직접 반환하는 v1 의 경우에는 지연로딩 때문에 프록시 객체가 존재하고, 이를 jackson 라이브러리가 읽을 수 없어 Hibernate5JakartaModule 을 추가했지만, v2 의 경우에는 Entity 를 직접 반환하는 것이 아닌 DTO 를 반환하기 때문에 지연로딩으로 인한 프록시 객체가 있어도 DTO는 jackson 라이브러리가 읽을 수 있는 객체이기 때문에 제거해도 정상적으로 동작한다고 이해했습니다.

 

혹시 제가 이해한 것이 맞는지 궁금합니다....ㅠㅠ

 

항상 잘 듣고 있습니다. 감사합니다

답변 1

1

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

안녕하세요. nwj1016님

생각하신 내용이 맞습니다 🙂

감사합니다.

nwj1016님의 프로필 이미지
nwj1016

작성한 질문수

질문하기