728x90
이유
- view, service와 통신하는 DTO 클래스는 자주 변경된다. 반면 Entity는 그에 비해 변경도 적고, 영향범위는 매우크다
- 테이블에 매핑되는 정보가 실제 View,service에서 원하는 정보와 다를 수 있다
- DTO를 사용하지 않고 Entity를 넘기다 보면 원하지 않은 정보까지 전달하게 되어 문제가 발생할 수 있다.
Entity
- 테이블에 대응하는 하나의 클래스
DTO
- 계층간 데이터를 교환할 때 사용하는 객체
- 로직을 갖고 있지 않은 데이터 객체, getter/setter 메소드만 갖음
- DB외에서 사용 ex)Service, View
DTO와 Entity간의 데이타전달객체의 매핑은 ModelMappper를 활용하자.
ModelMapper를 적극적으로 활용하면 DTO와 Entity간의 객체전환 및 매핑시의 반복작업등을 상당부분 줄일 수 있게 된다.
ModelMapper를 추천하지 않는 사람도 있다.
Reference
728x90
'Spring > Spring Boot' 카테고리의 다른 글
JPA & PostgreSQL 연동 (0) | 2021.09.03 |
---|---|
JPA의 Entity (0) | 2021.08.27 |
JPA(Java Persistence API)란 (0) | 2021.08.06 |
REST API (0) | 2021.07.23 |
Spring Boot MVC Pattern(Service, DAO, DTO, VO) (0) | 2021.07.09 |
댓글