본문 바로가기

TroubleShooting/JPA

[TroubleShooting / JPA]JPA + lombok 사용 시, StackOverflowError

JPA에서 1:n 양방향 관계 테이블에서 

1명의 맴버가 여러 아이템을 사용하는 중간 테이블에 데이터를 저장하는 상황에 발생했다

 

예를 들면 ORDER_ITEM에 데이터를 저장하는 상황이었다

 

https://yeongcheon.github.io/posts/2019-11-14-jpa-one-to-many-collection-set/

 

JPA OneToMany 필드의 StackOverflowError

JPA를 사용하다 보면 StackOverflow 에러를 종종 만날 수 있다. 이 글에서는 필드 타입이 Set인 Collection 타입에 아이템을 추가할 경우 StackVoerflow 에러가 발생하는 원인과 그 해결법에 대해 알아보

yeongcheon.github.io

이 분 글처럼

  • 부모 객체 단독 저장 -> 성공
  • 부모 객체에 단일 자식 객체 저장 -> 성공
  • 부모 객체에 복수 자식 객체 저장 -> 실패...

 

이 분 처럼 SET 을 사용한 거도 아니고 LIST 를 썼는데 중복 가능할 텐데 왜 안될까....

로그를 자세히 보니...

 

롬복 어노테이션 중

@Data의 @equalsandhashcode 때문에 생긴 오류였다

 

사이드 프로젝트에서 @Getter @Setter 가 귀찮아서 @Data를 주로 쓰는 

나에게 쓰지마라는 롬보기의 경고..ㅠㅠ

 

@Data 대신 @Getter @Setter 를 쓰니 경고가 말끔히 사라졌따..