DAO vs DTO vs VO vs Entity

100bona·2022년 4월 6일
0

Spring

목록 보기
3/3

DAO(Data Accesss Object)

  • 실제 DB에 접근하여 CRUD하는 객체

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와 통신하며 자주 변경

0개의 댓글