본문 바로가기
Java

VO, DTO, Entity

by 오렌지마끼야또 2022. 8. 3.
728x90
반응형

 

 

 

 

https://www.techie-knowledge.co.in/2018/06/layered-application-development-in-j2ee.html

 

https://velog.io/@minnseong/DTO-DAO-VO

 

 

VO (Value Object)

 - url을 통해 들어온 pram이 저장됨

 - 값 자체를 표현하는 객체

 - 단일 레이어에서만 사용하는 객체

 - Getter/Setter 메소드 포함 가능
   일반적으로 객체 불변성을 보장하기 위해 Setter 메소드가 없으나, 현재 프로젝트에서는 Setter 메소드 포함 가능

 - 현재 프로젝트에서는 일반적인 VO 의미보다 단일 레이어에서만 사용하는 객체의 의미로 사용

 - 동일한 VO 객체를 필요에 따라 분리하여 다수 정의할 경우 “기존객체이름+분리구분명+Vo" 형태로 정의   
   분리구분명은 가급적 비즈니스 용어를 사용

   예시 (사용자 VO)
      기본 객체 : UserVo
      등록용 객체 : UserAddVo, UserJoinVo
      수정용 객체 : UserUpdateVo

 

 

 

DTO (Data Transfer Object)

 - 레이어 간 데이터 교환을 위해 사용하는 객체
 - 외부 서비스로 요청/응답 시에 사용하는 객체
 - Getter/Setter 메소드 포함 가능

 - VO를 DTO로 변환하는 코드 있음

 

 

 

Entity

 - 사용하는 테이블의 컬럼이 정의되어 있음
 - DB 테이블과 1:1로 매핑되는 JPA Entity 클래스
 - Entity 객체는 하나의 DB 테이블 레코드를 표현

 - @Table(neme = " ", schema = " ") 로 테이블 지정

 - @Id, @Column 사용

 

 

 

 

 

728x90
반응형

댓글