값타입

최주영·2024년 12월 30일
0

JPA

목록 보기
6/7

✅ JPA 데이터타입

  • 엔티티 타입 : @Entity 로 정의하는 객체로 데이터 변해도 식별자 로 추적이 가능
  • 값 타입 : int, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체

값 타입에는 임베디드 타입 이 존재함


임베디드 타입

  • 새로운 값 타입을 직접 정의할 수 있음
  • JPA는 임베디드 타입이라고 불림
  • 기본 값을 모아서 만들어서 복합 값 타입 이라고도 불림

사용법
@Embeddable : 값 타입을 정의하는 곳에 표시
@Embedded : 값 타입을 사용하는 곳에 표시

기본 생성자는 필수로 적어야함

임베디드 타입을 사용하면 재사용성과 높은 응집도의 장점이 있음


EX ) 회원 엔티티에 아이디, 이름, 근무시작일, 근무종료일이 있다고 가정

코드로 만들어보면

// Member 클래스
@Id
private Long id;

private String name;

@Embedded
private Period workPeriod;
// period 클래스
@Embeddable
public class Period {
	private LocalDateTime startDate;
    private LocalDateTime endDate;
    
    // getter setter
}
// 메인 호출하는곳
Member member = new Member();
member.setWorkPeriod(new Period("날짜","날짜"));
profile
우측 상단 햇님모양 클릭하셔서 무조건 야간모드로 봐주세요!!

0개의 댓글