작성한 질문수
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
상품 도메인 개발
작성
·
492
3
@Data 애노테이션이 생성되는 것이
이 클래스에서 @Getter, @Setter를 빼면
@RequiredArgsConstructor와 @ToString @EqualsAndHashCode로 보이는데 이것들이 자동으로 생겨나서 위험한 게 있을까요?
@Setter랑 생성자만 주의하면 안되나요?
답변 2
0
강사님 이 부분이 혹시 JPA를 사용 할때 모델에만 적용되는 내용일까요? MyBatis를 사용 할 때는 그냥 @Data를 써도 되는 건가요?
안녕하세요. 지현명님
프레임워크와 무관하게 모두 주의해야 합니다. 양방향으로 참조하면 무한루프에 빠질 수 있습니다.
감사합니다.
안녕하세요. 진규님
lombok은 애노테이션은 기본으로 모든 필드로 코드를 생성합니다.
그래서 @ToString의 경우 객체의 양방향 연관관계(a -> b, b ->a)가 있을 때 무한 루프로 호출될 수 있습니다.
Equals와 hashCode도 모든 필드를 다 기준으로 잡기 때문의 주의해야 합니다.
그렇군요! 감사합니다!
안녕하세요. 지현명님
프레임워크와 무관하게 모두 주의해야 합니다. 양방향으로 참조하면 무한루프에 빠질 수 있습니다.
감사합니다.