📦 @Data

정의

@DataLombok이 자주 쓰는 보일러플레이트 코드를 한 번에 생성해 주는 애너테이션이다.

@Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 묶어서 제공한다고 이해하면 된다.

🧩 역할

  • getter와 setter를 생성한다.
  • toString()을 생성한다.
  • equals()hashCode()를 생성한다.
  • final 또는 @NonNull 필드를 기준으로 생성자를 만든다.

🛠 사용법

@Entity
@Data
@Table(name = "MY_USER")
public class User {

}

⚠️ 주의사항

  • @Data는 편리하지만 모든 경우에 적합한 것은 아니다.
  • 특히 @Entity에서 @Data를 사용하면 양방향 연관관계, equals/hashCode, toString 문제가 생길 수 있다.
  • 필요한 기능만 골라 쓰는 것이 더 안전할 수 있다.

📌 정리

  • @Data는 Lombok에서 자주 쓰는 코드를 한 번에 만들어 주는 애너테이션이다.
  • 편리하지만 무조건 쓰기보다 사용 대상을 잘 골라야 한다.
  • 특히 JPA Entity에는 주의가 필요하다.

연결문서

댓글남기기