티스토리 뷰
값 타입
- 엔티티(Entity)에 속하지 않고, 단순히 엔티티의 속성으로 사용되는 객체
- JPA에서 임베디드(Embedded) 타입도 값 타입의 한 종류
임베디드 타입
- 여러 개의 속성을 하나로 묶어 하나의 객체로 표현할 수 있도록 하는 것
- ex. 주소(Address) 객체를 임베디드 타입으로 사용 많이 함.
- 이러한 경우 주소는 엔티티가 아니라, 엔티티의 속성으로 존재 + 해당 엔티티와 생명주기를 공유한다.
- 임베디드 타입 사용 시 코드의 재사용성과 가독성 향상.
- 복합적 데이터를 간단하게 모델링할 수 있음.
- 필요한 경우 임베디드 타입을 재사용하여 중복을 피할 수 있음.
JPA에서 임베디드 타입 사용하기
- 임베디드 타입으로 사용할 클래스를 정의.
- 해당 클래스에 @Embeddable 어노테이션을 붙여, JPA에게 이 클래스가 임베디드 타입임을 선언
- 임베디드 타입 사용할 엔티티 클래스 필드에 @Embedded 어노테이션을 붙여 임베디드 타입 사용을 명시
예시, User 클래스에서 Address 임베디드 타입 사용하기
@Entity
public class User {
@Id
private Long id;
private String name;
@Embedded
private Address address;
// getters and setters
}
@Embeddable
public class Address {
private String city;
private String street;
private String zipcode;
// getters and setters
}
=> 이렇게 임베디드 타입을 사용하면 User 엔티티의 주소를 편리하게 관리 가능.
728x90
반응형
'[개발] - Spring > 개념 정리' 카테고리의 다른 글
Annotation 관련 핵심 요약 정리 (1) (0) | 2024.03.13 |
---|---|
로그와 로깅 간단히 알아보기 (1) | 2023.10.07 |
[스파르타] SpringData 구조 및 JpaRepository 원리 (0) | 2023.02.18 |
20230210 JPA 설명 (0) | 2023.02.14 |
엔티티 설계하기 관련 (1) | 2023.02.05 |
Comments