DTO, VO, Entity

akanana·2023년 1월 6일
0

개인공부

목록 보기
11/30

DTO, VO, Entity


기초 구조를 짜던 중, DB table을 받을 클래스를 짜던 중, 네이밍에 대한 고민을 하며 해당 내용에 대해 학습 및 정리를 하였다.

  • DTO
    계층간 교환을 위한 객체.
    데이터 교환만을 위해 사용되므로 getter/setter 메소드만 존재

  • VO
    값을 표현만 하는 객체
    로직x, 객체의 불변성을 보장. 이를 위해 equals() 및 hashCode() 메소드를 오버라이딩.

@Override
public boolean equals(final Object o) {
	if (this == o) return true;
	if (o == null || getClass() != o.getClass()) return false;
	final Point point = (Point) o;
	return x == point.x &&
			y == point.y;
}

@Override
public int hashCode() {
	return Objects.hash(x, y);
}
  • Entity
    DB 테이블과 매핑되는 객체
    id를 통해 엔티티를 구분
    로직이 존재할 수 있음.

출처

0개의 댓글