728x90
스프링 데이터 JPA
2. 핵심 개념 이해
본격적인 스프링 데이터 JPA 활용법을 학습하기에 앞서, ORM과 JPA에 대한 이론적인 배경을 학습합니다
포스팅 참조 정보
GitHub
공부한 내용은 GitHub에 공부용 Organizations에 정리 하고 있습니다
해당 포스팅에 대한 내용의 GitHub 주소
실습 내용이나 자세한 소스코드는 GitHub에 있습니다
포스팅 내용은 간략하게 추린 핵심 내용만 포스팅되어 있습니다
https://github.com/freespringlecture/spring-data-jpa-study/tree/chap02-04-03_value_type
해당 포스팅 참고 인프런 강의
실습 환경
- Java Version: Java 11
- SpringBoot Version: 2.1.2.RELEASE
4. JPA 프로그래밍 3: Value 타입 맵핑
엔티티 타입과 Value 타입 구분
- 식별자가 있어야 하는가
- 독립적으로 존재해야 하는가
Value 타입 종류
다른 타입에 종속적인 타입을 Value 타입이라고 보면 됨
- 기본 타입 (
String
,Date
,Boolean
, ...) - Composite Value 타입
- Collection Value 타입
- 기본 타입의 콜렉션
- 컴포짓 타입의 콜렉션
Composite Value 타입 맵핑
@Embadable
: Composite Value 클래스에 지정하면 해당 클래스를 Composite Value로 만듬@Embadded
: Entity에서 Composite Value로 지정한 클래스를 불러와 정의할 때 사용@AttributeOverrides
: 여러 값을 오버라이딩 하기위한 그룹 어노테이션@AttributeOverride
: 오버라이딩 하기 위해 사용
@Embeddable
public class Address {
private String street;
private String city;
private String state;
private String zipCode;
}
// Account
@Embedded
@AttributeOverrides({
@AttributeOverride(name = "street", column = @Column(name = "home_street"))
})
private Address address;
728x90
'개발강의정리 > Spring' 카테고리의 다른 글
[스프링 데이터 JPA] 2-4. JPA 프로그래밍 5: Entity 상태와 Cascade (0) | 2019.11.22 |
---|---|
[스프링 데이터 JPA] 2-4. JPA 프로그래밍 4: 관계 맵핑 (0) | 2019.11.22 |
[스프링 데이터 JPA] 2-4. JPA 프로그래밍 2: Entity Type Mapping (0) | 2019.11.22 |
[스프링 데이터 JPA] 2-4. JPA 프로그래밍 1: 프로젝트 세팅 (0) | 2019.11.22 |
[스프링 데이터 JPA] 2-3. ORM 패러다임 불일치 (0) | 2019.11.22 |
댓글