[Spring] 순환 참조(Circular References) 해결하기

그린·2023년 6월 11일
0

Spring

목록 보기
2/4
post-thumbnail

✔️순환 참조

@ManyToOne(fetch = FetchType.LAZY)를 활용해서 순환 참조 오류를 해결했지만, 여전히 문제가 발생하였다. Member를 json 형태로 뿌려주기 위해서는 Board를 참고하고 있는 Member를 불러오고 Member는 Board를 불러오는 참조가 반복되어서 여전히 오류가 발생하는 것이다.

따라서 부모(Member)클래스에 @JsonManagedReference를, 자식(Board) 클래스에 @JsonBackReference 를 추가하면서 단반향 맵핑을 하면 순환참조를 해결하였다.

Board.java

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="member_id")
@JsonBackReference
private Member member;

Member.java

@OneToMany(mappedBy = "member")
@JsonManagedReference
private List boards = new ArrayList<>();

0개의 댓글