study/Spring boot

엉터리 정리 - DAO, DTO, VO, Entity

올스왑 2021. 4. 14. 10:18

dao, dto, vo, entity에 대해서는 많은 정리가 있다. 그래서 간단하게만 정리하기로 한다.

 

DAO data access object
-> 실제 DB에 접근하는 객체.
-> 서비스와 DB 사이에서 데이터를 옮기는 역할을 한다. 쿼리를 날려 데이터를 가져오고 저장한다.
-> JpaRepository 객체들이 그 역할을 한다.
-> db와 통신할 때 사용하는 것.

DTO data transfer object
-> 계층간 데이터 교환을 위한 객체.
-> DB에서 얻은 데이터를 컨트롤러나 서비스 로직에서 사용하기 위한 객체.
-> DB에서 꺼낸 데이터를 DTO로 바꿔 서비스 로직, 컨트롤러 사용한다.

VO value object
-> VO는 DTO와 같은 개념이지만 읽기 전용이다.

Entity

-> Entity는 DB 테이블과 매핑 되는 클래스.

-> DB의 테이블 내에 존재하는 컬럼만을 속성(필드)으로 가져야 한다.
-> 테이블의 컬럼 == 엔티티의 필드
-> Entity는 상속을 받거나 구현체이면 안된다.