DTO vs Model vs Entity
2023. 1. 27. 15:46ㆍSpring
SSAFY프로젝트에서는 데이터 베이스를 위한 Entity를 만들고 API를 위한 DTO를 만들어서 통신을 진행하였다.
그래서 Entity에는 id를 생성하고 @Data 혹은 @Getter @Setter @NoArgConstructor 등의 어노테이션을 적용하여 JPA를 활용해 데이터베이스에 저장하는 용도로 사용하였다.
DTO는 말 그대로 JSON형태의 객체를 만들기 위해 API별로 DTO를 만들어 클라이언트에게 전달해주는 용도로 사용하였다.
하지만 현재 인턴기간중에 Model이라는 녀석이 등장했다.
생각해보면 MVC패턴이라는 거대한 녀석의 가장 앞부분인 Model을 확실하게 익히지 못했나? 라는 생각이 들긴하지만
내가 참고한 대부분의 프로젝트는 Model대신 DTO Entity를 사용하였다. 그러면 Model은 언제 사용하는 녀석일까?
DTO | 클라이언트가 입력한 카드정보, 쿠폰정보, 결정정보 파라미터로 전달한 걸 컨트롤러에서 받음 |
Model | 유저별 결제 혜택, 포인트 차감, 통신사할인등 중간에 연산이나 외부시스템연동할때 쓸 필드들을 model에 담아서 처리함 |
Entity | 연산되고 DB에 기록되어야 할 데이터(유저ID, 연산 후 포인트등)를 담아서 update시킴 |
'Spring' 카테고리의 다른 글
Maven VS Gradle (0) | 2023.02.01 |
---|---|
JDBC vs JPA vs Mybatis (1) | 2023.01.27 |
Model (0) | 2023.01.27 |
model.addAttribute() 메소드 (0) | 2023.01.27 |
@Configuration vs @Component (0) | 2022.12.28 |