✅ JPA 데이터타입
@Entity
로 정의하는 객체로 데이터 변해도 식별자
로 추적이 가능int, String
처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체값 타입에는 임베디드 타입
이 존재함
임베디드 타입
복합 값 타입
이라고도 불림사용법
@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("날짜","날짜"));