JPA를 사용하다 보면 @Setter을 사용하고자 하면 조심해야한다의 상황은 익숙하다.
하지만 우리는 비즈니스 로직에서 주로 사용하는 @Data 어노테이션은 @Setter을 내제하고 있다.
https://projectlombok.org/features/Data
처음에는 절대 사용하지 말아야지로 생각했는데... 어차피 DTO는 데이터 이동용으로만 사용하고 Entity에서 주의하자.
애초 우리가 Setter을 지양하는 이유중 큰 퍼센트를 차지하는것은 JPA의 영속성 더티 체킹이라는 속성 때문인데
DTO로 Data Transfer Object로만 사용하는 방식이라면 @Data 어노테이션을 사용하고 Entity에만 오르지 Getter, 생성자로만 진행하면 될거 같다.
생성자 중에서 @RequiredArgsConstructor는 스프링 빈 주입시에만 사용하는것으로 정리하면 될듯하다.
'개발 > JAVA' 카테고리의 다른 글
Cipher을 통한 암호화 (0) | 2024.02.21 |
---|---|
@EqualsAndHashCode에 대한 정리 (0) | 2023.09.21 |
자바 flatMap 이해하기 (0) | 2022.11.03 |
모던 자바 인 액션 스터디 (0) | 2022.10.13 |
@NoArgsConstructor(access = PROTECTED)에 관하여 (0) | 2022.09.12 |