@Data
📦 @Data
정의
@Data는 Lombok이 자주 쓰는 보일러플레이트 코드를 한 번에 생성해 주는 애너테이션이다.
@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에는 주의가 필요하다.
댓글남기기