DTO는 무수히 만들어질 수 있다.
반응형

처음에 스프링을 배울 때 

 

Controller, DAO, DTO, Service 로만 배웠다.

 

이 중에 DTO에 관련된 부분에서 

 

Entity나 VO라는 개념 없이 DTO로만 배워서 DTO로 다 하는 줄 알았는데

 

역시나 스프링의 세계는 심오하고도 깊었다.

 

 

논리적인 분리이지만 쉽게 얘기하면

 

DB에 Insert, update 할 때 쓰이는 Entity

 

사용자단에서 보이는 데이터를 뿌리는 용도의 DTO

 

VO 불변이라지만 사실상 개념의 차이인듯 하다

 

 

Mybatis를 이용해서 두 테이블을 JOIN해서 resultType으로 두가지 DTO를 받고 싶을 때

 

resultMap을 이용하는 방법도 있지만

 

그때그때 페이지에 보여줄 DTO를 계속 만들어주는 것이 보안적으로도 좋고 쿼리를 짜기에도 좋고 훨씬 생산적이라고 생각한다.

반응형