본문 바로가기

Java

DTO, Domain(Entity)

 

1.  DTO (Data Transfer Object) 

- 계층간(Layer) 데이터 교환을 위한 객체, 데이터 전송 객체

- Request, Response 

- DB에서 

- 로직을 갖지 않는 순수한 데이터 객체, Getter/Setter 메서드만 가짐

- toEntity() 메서드를 통해서 DTO에서 필요한 부분을 이용하여 Entity로 만든다.


* VO는 DTO와 동일한 개념이지만, Readonly의 속성을 가짐 

** VO는 특정한 비즈니스 값을 담는 객체이고, DTO는 Layer간의 통신 용도로 오고가는 객체를 말함

 

2. Domain / Entity

- DB 테이블과 매칭되는 객체

- RDBMS를 객체화 시킨것이라고 생각

- Getter만 존재 (Setter X)

- of()

 

 

일하다 든 질문사항 
DTO를 왜 굳이 Domain으로 변경해줘야할까?
오히려 더 시간이 오래걸리고 번거로운 작업을 하는거 아닌가? get -> set 해줘야하니까

: 만약 내가 servicer로 넘기는 변수가 추가된다면?

: Dto는 request로 받은 데이터를 그대로 쓰는건데?

 

 

참고사이트

https://gmlwjd9405.github.io/2018/12/25/difference-dao-dto-entity.html

https://youngjinmo.github.io/2021/04/dto-vo-entity/

https://tmdrl5779.tistory.com/51

반응형