DTO vs Entity

오젼·2024년 5월 21일
0

Entity

데이터베이스의 테이블과 매핑되는 객체
데이터베이스 레코드를 객체 인스턴스로 표현
영속성 데이터를 저장하고 관리하는 역할
데이터베이스 테이블의 컬럼매핑되는 필드를 가짐
JPA(Java Persistence API)의 @Entity 애노테이션을 사용
데이터 액세스 계층에서 사용

DTO(Data Transfer Object)

계층 간(예: 컨트롤러와 서비스 계층 간) 데이터 교환을 위한 객체
여러 계층에서 공유되는 데이터를 포함하지만, 특정 계층에 종속되지 않음
데이터베이스와 직접 매핑되지 않음
불필요한 정보를 제거하고 필요한 데이터만 전송할 수 있음
보안, 성능, 유지보수 측면에서 이점이 있음
비즈니스 로직이나 서비스 계층에서 사용

Ex

그니까 Entity는 데이터베이스 테이블과 진짜로 매핑 되는 객체!
DTO는 클라이언트에게 전송될 객체.
그래서 위 예시에서 UserDTO에는 password 필드를 정의 하지 않고 사용.

참고로 @Entity 는 jpa에서 제공하는 애노테이션이다

0개의 댓글