목차

  1. 댓글 데이터 insert
  2. 무한참조
    1. 무한 참조란?
    2. 무한 참조 해결방법

 

 

 

1. 댓글 데이터 insert

  1. DB : 데이터 입력
  2. ReplyRepository.java : Reply을 넘길 repository 생성
  3. detail.jsp : forEach문으로 데이터 뿌리기
  4. http : 정상작동 확인

 

1. DB : 데이터 입력

 

2. ReplyRepository.java : Reply을 넘길 repository 생성

 

3. detail.jsp : forEach문으로 데이터 뿌리기

 

4. http : 정상작동 확인

 

 

 

 

2. 무한 참조

 

1) 무한 참조란?

  • jpa는 어노테이션을 통해 각각의 테이블을 편하게 참조할 수 있는데, 참조되는 테이블끼리 연관이 되어 참조가 끝나지 않는 것을 말한다.

 

하기 이미지에서 볼 수 있듯, Board.java / Reply.java는 서로를 참조하고 있다.

 

이는, Board 입장에서 본인이 주인이 되고 Reply를 fk로 가지지만

반대로, Reply 입장에서도 본인이 주인이 되고 Board를 fk로 가지게 되는 것.

 

따라서,

"Board가 참조하는 Reply가 참조하는 Board가 참조하는 Reply가 참조하는...." 식의 테이블간의 연관 관계가 무한으로 이어진다

(*User는 Board나 Reply를 fk로 가지고 있지 않아 무한 참조가 되지 않는다)

 

 

 

 

 

 

2) 무한 참조 해결방법

  • @JsonIgnoreProperties({""}) : 쌍따옴표("") 안에 참조에서 제외할 항목을 입력

 

 

이렇게 되면 Reply를 참조했을 때, Reply 내의 Board는 참조하지 않고 무시하게 되어 무한 참조를 종료시킬 수 있다.

'SpringBoot > JPA' 카테고리의 다른 글

[JPA] 댓글 작성하기  (0) 2024.04.09
[JPA] 댓글 디자인  (0) 2024.04.08
[JPA] OAuth 설정 (카카오 로그인)  (0) 2024.04.04
[STS] 회원정보 수정  (0) 2024.04.02
[STS] 글 수정하기  (1) 2024.04.01

+ Recent posts