• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

무한반복 질문

21.03.03 17:22 작성 조회수 318

1

안녕하세요.

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

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

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

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

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

스프링 버전은 2.4입니다.

답변 3

·

답변을 작성해보세요.

0

지현명님의 프로필

지현명

2021.06.29

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


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

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

0

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

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

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

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

감사합니다. 

0

heart_rose님의 프로필

heart_rose

질문자

2021.03.03

https://pasudo123.tistory.com/350

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

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