반응형
엔티티 클래스를 생성할 때 자주 보았지만 정확히는 알지 못하고 사용했었다.
이제 좀 정확히 알고 사용하고 싶어서 이 글을 작성하게 되었다.
JPA의 Entity 클래스에서 자주 보았던 Annotation에 대해...
@Data
- 롬복(Lombok) 라이브러리에서 제공하는 애너테이션
- 클래스 내부의 모든 필드에 대해 getter와 setter 메서드, equals, hashCode, toString 등의 메서드를 자동으로 생성해주는 기능 제공
@Builder
- 빌더 패턴을 적용하기 위해 사용되는 애너테이션
- 객체 생성 시에 많은 파라미터를 받는 경우 코드 가독성과 유지보수성이 떨어지는 문제 해결을 위한 패턴
- @Builder를 사용하여 빌더 객체를 생성
- 객체 생성 시 필요한 파라미터만 지정할 수 있음
@NoArgsConstructor
- 인자 없는 생성자를 자동으로 생성해주는 롬복의 애너테이션
- 일반적으로 JPA에서는 엔티티 클래스에 기본 생성자가 필요
- @NoArgsConstructor 사용하여 기본 생성자를 자동으로 생성
@AllArgsConstructor
- 모든 필드를 인자로 받는 생성자를 자동으로 생성해주는 롬복의 애너테이션
- 일반적으로 DTO(Data Transfer Object) 등에서 사용
@Setter, @Getter
- 각각 필드에 대한 setter와 getter 메서드를 자동으로 생성해주는 롬복의 애너테이션
- 클래스 선언부에 @Setter, @Getter 애너테이션 추가
- 해당 클래스의 필드에 대한 setter와 getter 메서드를 자동으로 생성할 수 있음
@Entity
- JPA에서 엔티티 클래스를 정의할 때 사용하는 애너테이션
- @Entity가 선언된 클래스는 데이터베이스 테이블과 매핑
- 데이터베이스와 상호작용할 수 있는 엔티티가 됨
- 엔티티 클래스는 데이터베이스에서 조회, 생성, 수정, 삭제 등의 작업 수행
반응형