• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Event 엔티티 설정 관련 문의 드립니다.

19.05.22 00:50 작성 조회수 161

0

Event 엔티티 설정에서 @Data 어노테이션을 사용하지 않고, @EqualsAndHashCode(of="id")를 사용하는 이유가 "상호참조" 시 stack overflow가 발생할 수 있어서 그렇다고 말씀하시는데

상호참조가 어떤걸 의미하는지 좀더 자세히 설명 부탁드립니다.

답변 1

답변을 작성해보세요.

5

Book 에 Writer가 있고 Writer에서 List<Book> 을 가지고 있다고 가정했을 때 Book과 Writer가 서로를 참조하니까 상호참조라고 할 수 있습니다. 이 경우에 @Data 애노테이션이 만들어 주는 Book의 equals를 사용하면 Book -> Writer -> Book 무한 반복으로 스택오버플로가 발생하는 것을 볼 수 있습니다. 그걸 방지하려고 equals를 만들 때 id만 쓰도록 설정한겁니다.

최찬혁님의 프로필

최찬혁

2023.07.02

그저 갓 ..