개발 지식

DAO, DTO

dm.kim 2020. 10. 5. 18:39

DAO(Data Access Object) : 실제로 DB에 접근하는 객체이다.(Persistence Layer(DB에 data를 CRUD하는 계층)이다.)

 

DTO(Data Transfer Object) : 계층 간 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체이다. DB의 데이터가 Presentation Logic Tier로 넘어오게 될 때는 DTO의 모습으로 바뀌게 된다. 로직을 갖고 있지 않는 순수한 데이터 객체이며 getter/setter 메소드만을 갖는다. 하지만 DB에서 받아온 값을 임의로 변경할 필요가 없기 때문에 DTO 클래스에는 setter가 없다.(대신 생성자에서 값을 할당한다.)

 

 

cf. Entity Class : 실제 DB의 테이블과 매칭될 클래스

 

참조

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

'개발 지식' 카테고리의 다른 글

필드, 변수, static, final  (0) 2020.11.14
Java의 synchronized 키워드에 대한 고찰  (0) 2020.11.14
REST란?  (0) 2020.09.26
디자인 패턴  (0) 2020.09.26
HTTP 상태 코드 정리  (0) 2020.09.23