개요
토비의 스프링과 유튜브로 실습을 해보던 중 DAO와 DTO가 나왔다. 이름도 비슷해서 무슨 차이인지 궁금해서 검색을 통해 찾아보고 정리해 봤다.
DTO (Data Transfer Object)
DTO (Data Transfer Object)는 주로 데이터를 여러 계층 간에 전송하기 위해 사용된다. 예를 들어, 서비스 레이어에서 데이터를 데이터 액세스 계층(DAO)으로 보낼 때 DTO를 사용하여 데이터를 캡슐화하고 전송할 수 있다.
DTO의 특징은 다음과 같다.
- 데이터 전송을 목적으로 설계
- 보통 데이터의 단순 전달을 위한 필드로 구성
- 비즈니스 로직을 포함하지 않음
- getter / setter 메서드만 가진 순수한 데이터 객체 클래스 (Java Beans)
DAO (Data Access Object)
DAO (Data Access Object)는 실제로 DB에 연결하는 객체이다. DAO는 서비스와 DB를 연결하는 역할을 하며 실제로 DB에 접근하여 CRUD 기능을 수행한다.
CRUD
CRUD는 데이터베이스에서 가장 기본적인 데이터 조작 작업을 나타내는 약어이다.
- Create (생성) : 데이터베이스에 새로운 데이터를 생성하는 작업.
- Read (읽기) : 데이터베이스에서 데이터를 읽어오는 작업.
- Update (갱신) : 데이터베이스의 기존 데이터를 업데이트 또는 수정하는 작업.
- Delete (삭제) : 데이터베이스에서 기존 데이터를 삭제하는 작업
JPA에서는 DB에 데이터를 CRUD 하는 JpaRepository<>를 상속받는 Repository 객체들이 DAO라고 볼 수 있다.
'DB' 카테고리의 다른 글
스프링에서 레디스 센티넬 (0) | 2024.10.19 |
---|---|
Transaction (0) | 2024.07.12 |