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

heart_rose님의 프로필 이미지
heart_rose

작성한 질문수

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

게시물 조회를 위한 Post Entity와 User Entity와의 관계 설정

무한반복 질문

작성

·

405

1

안녕하세요.

강의를 따라하다가 이전강의에서 해놓은 Posts를 추가하고 

/jpa/users/900001/posts 를 하면  아래와 같은 에러가

발생하면서 동일한 결과를 계속 만들어 냅니다.

"Could not write JSON: Infinite recursion (StackOverflowError)"

혹시 제가 잘못 셋팅한 부분이 있을까요???

스프링 버전은 2.4입니다.

답변 3

0

@JsonManagedReference
@OneToMany(mappedBy = "user")
private List<Post> posts;


@JsonBackReference
@ManyToOne(fetch = FetchType.LAZY)
@JsonIgnore
private User user;

무한 반복이 없어 졌습니다.

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

문의하신 질문은 Users와 Posts 사이에서 양방향 JSON 변환이 반복되어서 생기는 현상같습니다. 

Users에서 Posts의 정보를 가져와서 JSON으로 변환하고, Posts에서는 Posts를 작성한 Users의 정보를 다시 JSON으로 변환하는 무한 반복이 생기는 현상입니다. 

Users에 @JsonManagedReference, Posts에 @JsonBackReference를 설정하시거나, Posts에서 JSON 변환을 무시하는 @JsonIgnore 어노테이션을 추가해 보시면 해결 될것 같습니다. 

감사합니다. 

0

heart_rose님의 프로필 이미지
heart_rose
질문자

https://pasudo123.tistory.com/350

위 게시글 보고 양방향 무한순환참조현상 해결했습니다 

근데 왜 선생님 예제에서는 무환참조현상이 안일어난걸까요...

heart_rose님의 프로필 이미지
heart_rose

작성한 질문수

질문하기