[JPA] Model 객체 무한 참조

유존돌돌이·2022년 3월 2일
0

JPA

목록 보기
1/1
post-thumbnail

Board Model

@OneToMany(mappedBy = "board", fetch = FetchType.EAGER)
@JsonIgnoreProperties({"board"})
private List replys;

Reply Model

@ManyToOne
@JoinColumn(name="boardId")
private Board board;

위와 같이 Reply model객체와 Board model객체가 서로 참조하고 있는데,
Board Model을 가져올 때 Reply 객체 가져오고 Reply객체 가져올 때 또 Board 참조하고....
끝없는 연결로 객체를 엄청나게 많이 가져온다.

그래서

Board Model

@OneToMany(mappedBy = "board", fetch = FetchType.EAGER)
@JsonIgnoreProperties({"board"})
private List replys;

위와 같이 Json Ignore하면 중복 참조하지 않는다.
즉 내가 Board를 통해서 호출했을때 replys의 board 객체 재참조를 안한다는 뜻이다.
예를 들어

@JsonIgnoreProperties({"board, user"})

라고 했을 때, Board를 통해 reply를 가져온다면 board와 user객체를 참조하지 않는다는 뜻이다.

0개의 댓글