728x90
반응형
원인
- @Data 어노테이션 안에 있는 @EqualsAndHashCode 어노테이션이 연관관계 매핑 과정에서 무한 루프로 인해 스택오버플로우를 발생시켰다.
- @EqualsAndHashCode 어노테이션에서 모든 필드를 기반으로 두 객체와 내용을 비교하는데, OneToMany와 같이 양방향 의존관계를 설정하면 hashCode가 중복되어 무한으로 hashCode 함수가 호출되어 상호 참조로 인한 스택오버플로우가 발생한다.
해결
- 엔티티 클래스에 @Data 사용을 자제하고 필요 어노테이션을 따로 설정하면 된다.
- @EqualsAndHashCode(of = "id")로 아이디 정도만 걸어주는 게 좋을 거 같다..
Reference
https://projectlombok.org/features/Data
https://projectlombok.org/features/EqualsAndHashCode
728x90
반응형