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

임현강님의 프로필 이미지
임현강

작성한 질문수

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

간단한 주문 조회 V1: 엔티티를 직접 노출

하이버네이트 모듈과 @JsonIgnore를 굳이 함께 사용할 필요는 없는 걸까요?

작성

·

263

0

하이버네이트 모듈을 사용해서 프록시상태인 객체에 대한 조회를 무시할 수 있다면.. 

member의 orders에 굳이 @JsonIgnore를 걸어주지 않아도 될 것이라고 생각됩니다.
(굳이 order.member. orders에 접근해서 orders에까지 지연로딩을 활성화시킬 일은 없을테니)

그럼 굳이 @JsonIgnore 처리를 해주지 않고 
orders : null로 전달되도록 해도 상관이 없나요?

아님 orders:null조차 안 뜨도록 @JsonIgnore도 함께 사용해주는게 좋을까요?

실무에선 어떤식으로 진행하는지 궁금합니다!

답변 2

2

임현강님의 프로필 이미지
임현강
질문자

아~ 애초에 엔티티에서 필요한 정보만을 담은 DTO를 반환하니 위의 고민 자체가 쓸 데 없는 생각이 되겠네요.

어쨌든 필요한 건 DTO에서 전부 명시될 테니 굳이 @JsonIgnore를 쓸 필요는 없겠네요 그럼.

감사합니다!

1

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

안녕하세요. 현강님^^

실무에서는 엔티티 자체를 외부에 API 응답 값으로 사용하지 않고, HTTP API에서 서로 약속한 스펙에 맞춘 별도의 DTO라는 객체를 만들어서 반환합니다. 따라서 이 부분은 크게 고민하지 않으셔도 됩니다.

방금 말씀드린 내용들 모두 진행하는 과정을 통해서 이해하실 수 있을거에요^^

감사합니다.

임현강님의 프로필 이미지
임현강

작성한 질문수

질문하기