[Spring] lombok 주의사항

layl__a·2022년 9월 10일
0

Spring Boot

목록 보기
2/17

Entity 에서 lombok 을 사용하고 빌드하면 StackOverflowError 오류가 발생할 수 있다.

  • @Data를 사용하면 자동으로 Setter를 지원한다. 하지만 setter는 보안에 있어 객체의 안정성이 보장되지 않을 수 있다.
  • 또한 dto가 양방향 연관관계일 경우 toString() 메서드를 호출하게 되어 순환참조 문제가 일어난다.

바람직한 Lombok 사용법

@NoArgsConstructor 접근 권한 최소화

jpa에서는 프록시 생성을 위해 기본 생성자를 반드시 하나를 필요로 한다. 이 때 접근 권한을 protected 로 해준다.

  • 예시)
@Getter
@Entity
@NoArgsConstructor(access = AccessLevel.protected)

@Data 대신 dto 에서는 @Getter @Setter 사용

0개의 댓글