DAO vs DTO vs VO vs Entity
DAO(Data Accesss Object)
DTO(Data Transfer Object)
- 데이터 교환을 위한 객체
- java beans
- getter, setter 로 이루어짐
- 주로 view와 Controller 사이의 데이터를 담은 객체
- DB에서 얻은 데이터를 Controller나 Service 로직에서 사용하기 위한 객체
VO(Value Object)
- 데이터 교환을 위한 객체
- java beans
- getter(Read-Only) 로 이루어짐
Entity
- DB 테이블 정의한 객체
- DB 테이블과 1:1 mapping 관계
Entity 와 DTO 분류 이유
- DB Layer = Persistence Tier, View Layer = Presentation Tier 의 역할을 철저하게 분리
- Entity는 실제 테이블과 매핑되어 만일 변경되게 되면 여러 다른 Class에 영향
- DTO는 View와 통신하며 자주 변경