티스토리 뷰

 

 

 

 

도메인(Domain), DTO(Data Transfer Object), Entity의 주요 차이점을 설명해드리겠습니다:
  1. Entity
  • 데이터베이스 테이블과 직접 매핑되는 클래스
  • JPA @Entity 어노테이션을 사용
  • 실제 DB의 테이블 구조를 반영
  • 예시 코드를 찾아보겠습니다:

 

Searched codebase for "@Entity class User"
 

 

  1. DTO (Data Transfer Object)
  • 계층 간 데이터 전송을 위한 객체
  • 주로 클라이언트와 서버 간의 데이터 교환에 사용
  • 필요한 데이터만 선택적으로 전송 가능
  • 예시를 찾아보겠습니다:
Searched codebase for "class BoardDTO"
 
  1. Domain
  • 비즈니스 로직을 포함하는 객체
  • 실제 업무 규칙과 로직을 담당
  • Entity와 유사하지만, 때로는 여러 Entity를 조합하여 비즈니스 로직을 구현
예시를 통해 차이점을 설명하겠습니다:
  1. Entity 예시 (User.java):
     
    java
  • DB 테이블과 직접 매핑
  • JPA 어노테이션 사용
  • 데이터 영속성 관리
  1. DTO 예시 (BoardDTO.java):
     
    java
     
  • 클라이언트로 전송할 데이터만 포함
  • 비즈니스 로직 없음
  • Entity의 민감한 정보 제외 가능
  1. Domain 예시 (Board.java):
     
    java
     
  • 비즈니스 로직 포함 (예: canEdit 메소드)
  • Entity 역할도 수행
  • 도메인 규칙 구현
주요 차이점:
  1. Entity: DB 테이블과 1:1 매핑, 데이터 영속성 관리
  1. DTO: 데이터 전송용 객체, 계층 간 데이터 교환
  1. Domain: 비즈니스 로직과 규칙을 포함하는 객체
이 프로젝트에서는 Board가 Domain이면서 Entity의 역할을 동시에 수행하고 있고, BoardDTO는 클라이언트와의 데이터 교환을 위해 사용되고 있습니다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함