스프링 부트 data jpa를 활용해 게시물 단건 조회 API를 만들던 중 발생한 에러다.
에러 메세지를 살펴보니 무한 재귀 문제임을 알 수 있었다.
양방향 다대다 관계를 일대다 다대일로 찢어서 연관관계 매핑을 한 칼럼이 있었는데 해당 객체를 response로 반환할 시
서로를 참조하며 무한 재귀 함수가 실행되는 문제였다.
@ManyToOne 칼럼에 @JsonIgnore 애노테이션을 추가해서 해결했다.
예시 코드는 아래와 같다.
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "board_idx")
private Board board;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "stack_idx")
private TechStack techStack;
참고사이트
https://thalals.tistory.com/227
https://cupeanimus.tistory.com/57