코딍코딍
코딩기록
코딍코딍
전체 방문자
오늘
어제
  • 분류 전체보기 (271)
    • 개발 (2)
    • Java (1)
    • 스프링 (28)
    • JPA (11)
    • Git (3)
    • 알고리즘 (160)
      • 백준 (132)
      • 프로그래머스 (8)
      • SWEA (20)
    • 토이 프로젝트 (14)
      • 간단한 Springboot CRUD (1)
      • 게시판 프로젝트 (13)
    • 알고리즘 개념정리 (8)
    • 오류 해결 (13)
    • 보류 (0)
    • AWS (5)
    • 트러블 슈팅 (0)
    • 회고 (3)
    • CS (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

최근 글

티스토리

hELLO · Designed By 정상우.
코딍코딍

코딩기록

오류 해결

java.lang.StackOverflowError: null - @Data

2023. 1. 11. 15:41

원인

@Entity
@Data
public class Board {
    ...
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name = "user_id")
    private User user;
    ...
}

@Entity
@Data
public class User {
    ...
    @OneToMany(mappedBy = "user")
    private List<Board> boards = new ArrayList<>();
    ...
}

 

User나 Board를 출력할 때 문제발생!

위 코드를 보면 User, Board 둘 다 @Data이 선언되어있다. User와 Board는 양방향 관계이기때문에 어느 한 쪽에서 toString()을 호출하는 경우 순환참조 문제가 발생하여 StackOverflowError가 발생하는 것이다.

 

해결방법

@Entity
@Data
@ToString(exclude = "user")
public class Board { ... }

User 또는 Board 둘 중 하나의 클래스에 @ToString(exclude = "")를 선언하여 toString() 호출 시 순환참조를 막아주면 해결된다.

'오류 해결' 카테고리의 다른 글

[Mysql] Cannot delete or update a parent row  (0) 2023.02.28
Java Mysql 연동 시 오류 발생 : java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed  (0) 2023.02.13
failed to lazily initialize a collection of role: could not initialize proxy - no Session  (0) 2023.01.11
[Spring Boot] Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 에러  (0) 2022.12.20
깃 오류  (0) 2022.11.01
    '오류 해결' 카테고리의 다른 글
    • [Mysql] Cannot delete or update a parent row
    • Java Mysql 연동 시 오류 발생 : java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
    • failed to lazily initialize a collection of role: could not initialize proxy - no Session
    • [Spring Boot] Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 에러
    코딍코딍
    코딍코딍
    ㅎ2

    티스토리툴바