[Start Spring Boot] @Column, DAO, DTO, VO, Entity

·2024년 3월 14일
0

Start Spring Boot!

목록 보기
13/53
post-thumbnail

@Column의 속성들

  • name: 매핑할 컬럼의 이름을 지정
  • insertable: Entity 저장 시 해당 Field도 저장 / false는 읽기전용
  • updatable: Entity 수정 시 해당 Field도 수정 / false는 읽기전용
  • nullable: true/false로 null 허용 여부
  • unique: true/false로 Unique 제약 조건
  • length: 길이 제한
  • precision, scale(DDL): 아주 큰 숫자나 정밀한 소수를 위해 사용

DAO, DTO, VO, Entity?

Entity란?

  • 실제 DB테이블과 매핑되는 클래스
  • 스프링에서 Entity가 해당

DAO란?

  • Data Access Object의 약자
  • DB 데이터에 접근하기 위한 객체
  • 비즈니스 로직 같은 것을 포함
  • 데이터의 CRUD를 작업을 시행하는 클래스
  • Repository가 DAO의 역햘을 함

DTO란?

  • Data Transfer Object의 약자
  • 비즈니스 로직 같은 것은 없고 순수하게 데이터만 포함
  • 프로세스 간에 데이터를 전달하는 객체
  • getter와 setter를 포함할 수 있음
  • record를 이용해서 구현도 가능
  • 보통 Spring boot의 MVC모델에서 Client와 Controller 사이에서 사용
  • 전송을 위한 객체

VO

  • Value Ojbect의 약자
  • 불변성, 값 동등성, 자가 유효성 검증의 특징을 가진다.
  • 비즈니스 로직을 가질 수 있음
  • 값 자체를 표현하기 위한 객체

DTO 만들기

  • TeamDTO.java
package com.chan.ssb;

public record TeamDTO(Long id, String name, String city, int championships) {
}
  • record를 이용해서 간단하게 구현 가능하다.
profile
백엔드 개발자가 꿈인 컴공과

0개의 댓글

관련 채용 정보