강의

멘토링

커뮤니티

Inflearn Community Q&A

n00nietzsche's profile image
n00nietzsche

asked

Spring MVC Part 1 - Core technologies for backend web development

Product Domain Development

@Data 는 사용하기 위험하다고 말씀하셔서 질문합니다!

Written on

·

565

3

@Data 애노테이션이 생성되는 것이

이 클래스에서 @Getter, @Setter를 빼면

@RequiredArgsConstructor와 @ToString @EqualsAndHashCode로 보이는데 이것들이 자동으로 생겨나서 위험한 게 있을까요?

@Setter랑 생성자만 주의하면 안되나요?

springMVC

Answer 2

0

강사님 이 부분이 혹시 JPA를 사용 할때 모델에만 적용되는 내용일까요?  MyBatis를 사용 할 때는 그냥 @Data를 써도 되는 건가요?

yh님의 프로필 이미지
yh
Instructor

안녕하세요. 지현명님

프레임워크와 무관하게 모두 주의해야 합니다. 양방향으로 참조하면 무한루프에 빠질 수 있습니다.

감사합니다.

0

yh님의 프로필 이미지
yh
Instructor

안녕하세요. 진규님

lombok은 애노테이션은 기본으로 모든 필드로 코드를 생성합니다.

그래서 @ToString의 경우 객체의 양방향 연관관계(a -> b, b ->a)가 있을 때 무한 루프로 호출될 수 있습니다.

Equals와 hashCode도 모든 필드를 다 기준으로 잡기 때문의 주의해야 합니다.

감사합니다.

n00nietzsche님의 프로필 이미지
n00nietzsche
Questioner

그렇군요! 감사합니다!

n00nietzsche's profile image
n00nietzsche

asked

Ask a question