DTO, DAO, Repository, Entity

방세현·2023년 3월 24일
0

spring boot

목록 보기
1/5
post-thumbnail

DTO (Data Transfer Object)

  • Client, Controller, Service간에 데이터를 전달하기 위해 만든 객체
  • GETTER와 SETTER로 객체 내 데이터에 접근한다.

VO (Value Object)

  • 데이터를 저장하는 객체
  • 수정이 불가능하지만 DTO와 VO의 경계가 없는 프로젝트도 존재한다.

Entity

  • Service 객체에서 DTO에 들어가있는 데이터 값들을 활용(추가, 삭제)하여 Entity객체를 만든다.
  • 엔티티는 데이터베이스에 쓰일 테이블과 칼럼을 정의한다.
  • 데이터베이스의 테이블을 하나의 엔티티로 생각해도 무방
  • DataBase의 테이블과 1:1로 매핑되는 객체

Repository

  • Entity에 의해 생성된 데이터베이스에 접근하는 메소드를 사용하기 위해 만들어진 인터페이스
  • 즉, 데이터베이스에 적용하고자 하는 CRUD를 정의하는 영역이다.
  • Service와 DB를 연결하는 고리의 역활을 함
  • 대표적으로 JPA Repository가 있다.

DAO (Data Access Object)

  • Service가 DB에 연결할 수 있게 해주는 역활
  • Entity에 있는 값들을 DB에 저장을 하거나 DB에서 가져오는 등의 역활을 수행한다.
  • DAO가 Repository를 활용한다. DB에 접근하는 본질은 Repository가 갖고있고, 이 메소드들을 활용하는것은 DAO이다.

출처: 어라운드허브 - 스프링부트 기초

0개의 댓글