본문 바로가기
개발/JAVA

DTO에서 @Setter쓰는 것에 대한 주저리[1]

by 설이주인 2023. 9. 17.

JPA를 사용하다 보면 @Setter을 사용하고자 하면 조심해야한다의 상황은 익숙하다.

하지만 우리는 비즈니스 로직에서 주로 사용하는 @Data 어노테이션은 @Setter을 내제하고 있다.

 

https://projectlombok.org/features/Data

 

@Data

 

projectlombok.org

 

https://www.inflearn.com/questions/161417/dto-%EC%82%AC%EC%9A%A9%EC%97%90%EB%8C%80%ED%95%B4-%EA%B6%81%EA%B8%88%ED%95%A9%EB%8B%88%EB%8B%A4

 

DTO 사용에대해 궁금합니다. - 인프런 | 질문 & 답변

안녕하세요 영한님.항상 좋은강의 보면서 이미 완강을 하였지만 궁금한점이 이 강의내용에 해당되는것 같아 질문을 남깁니다.컨트롤러에서 (API) 개발을 할때 Entity를 바로 접근하지 말고 DTO를

www.inflearn.com

처음에는 절대 사용하지 말아야지로 생각했는데... 어차피 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