Mapping

상속 관계 매핑

  • @Inheritance(stratge = ) 로 전략을 고른다.
    1. InheritanceType.JOINED : 각각의 테이블로 변환: 상위, 하위들을 각각 테이블로 만들고 조회할 때 조인한다.(정규화 3NF)
    2. InheritanceType.SINGLE_TABLE : 통합 테이블로 변환. 각 테이블을 하나로 뭉친다.`
    3. InheritanceType.TABLE_PER_CLASS : 서브타입 테이블로 변환: 각 컬럼을 테이블마다 생성 (반정규화)
  • @DiscriminatorColumn(name= "")으로 구분 컬럼을 만든다.
  • @DiscriminatorValue(value= "")으로 구분 컬럼의 값을 만든다.

자식클래스에 상속하고 있는 부모 클래스 정보만 넘긴다면

  • @MappedSuperclass를 사용한다.
  • 부모로부터 물려 받은 매핑정보를 재정의 하려면 @AttributeOverride(s)를 사용한다.
  • 연관관계 재정의는 @AssociationOverride(s)를 사용한다.

한 엔티티에 여러 테이블 매핑

  • @SecondaryTable을 사용한다.
    • name: 매핑할 다른 테이블의 이름
    • pkJoinColumns: 매핑할 다른 테이블의 기본 키 컬럼 속성