[jpa Series] 04.advancedmapping
December 5, 2024
Mapping
상속 관계 매핑
@Inheritance(stratge = ) 로 전략을 고른다.
- InheritanceType.JOINED : 각각의 테이블로 변환: 상위, 하위들을 각각 테이블로 만들고 조회할 때 조인한다.(정규화 3NF)
- InheritanceType.SINGLE_TABLE : 통합 테이블로 변환. 각 테이블을 하나로 뭉친다.`
- InheritanceType.TABLE_PER_CLASS : 서브타입 테이블로 변환: 각 컬럼을 테이블마다 생성 (반정규화)
@DiscriminatorColumn(name= "")으로 구분 컬럼을 만든다.
@DiscriminatorValue(value= "")으로 구분 컬럼의 값을 만든다.
자식클래스에 상속하고 있는 부모 클래스 정보만 넘긴다면
@MappedSuperclass를 사용한다.
- 부모로부터 물려 받은 매핑정보를 재정의 하려면
@AttributeOverride(s)를 사용한다.
- 연관관계 재정의는
@AssociationOverride(s)를 사용한다.
한 엔티티에 여러 테이블 매핑
@SecondaryTable을 사용한다.
- name: 매핑할 다른 테이블의 이름
- pkJoinColumns: 매핑할 다른 테이블의 기본 키 컬럼 속성