[Redis] Could not write JSON: Infinite recursion (StackOverflowError)

yeonjoo913·2023년 11월 21일
0

Redis

목록 보기
7/7

에러 메세지

Could not write JSON: Infinite recursion (StackOverflowError)

원인 및 해결

JPA엔티티,JSON 변환 에러이다.

원인

  • 연관관계 선언을 한 경우 발생
  • jackson lib의 objectmapper 객체에 의해 json타입을 변환하는 도중에 변환되는 엔티티의 필드가 다른 엔티티를 참조하고 그 엔티티 클래스의 필드가 또 다른 엔티티를 참고 하고..의 무한 루프가 발생

해결방안

양방향 매핑을 맺은 필드에 대해서 두 개의 어노테이션을 붙여야한다.

  • @JsonManagedReference
    • 참조가 되는 앞부분을 의미하며, 정상적으로 직렬화를 수행한다.
    • Collection Type에 적용된다.

  • @JsonBackReference
    • 참조가 되는 뒷부분을 의미하며,직렬화를 수행하지 않는다.

Reference
[문제해결] Infinite recursion (StackOverflowError)

profile
주니어 백엔드 개발자. 까먹는다 기록하자!

0개의 댓글