관리 메뉴

꿀맛코딩

고급 매핑 본문

공부방/JPA

고급 매핑

soycrab 2023. 3. 4. 00:16

1. 상속관계 매핑

- 관계형 데이터베이스는 상속 관계 x

- 슈퍼 타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사 

- 상속관계 매핑: 객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑 

  • 슈퍼타입 서브타입 논리 모델을 실제 물리 모델로 구현하는 방법
    • 각각 테이블로 변환 -> 조인 전략
    • 통합 테이블로 변환 -> 단일 테이블전략
    • 서브 타입 테이블로 변환 -> 구현 클래스마다 테입르 전략 

 

2. 주요 어노테이션

 - @Inheritance(strategy=InheritanceType.XXX)

  • JOINED: 조인 전략
  • SINGLE_TABLE: 단일 테이블 전략
  • TABLE_PER_CLASS: 구현 클래스마다 테이블 전략
  • TABLE_PER_CLASS 를 사용시 Abstract class로 생성해 주어야 부모 테이블 생성이 안된다. 

- @DiscriminatorColumn(name=“DTYPE”)

  •   테이블 컬럼에 DTYPE 을 추가한다 (참고로 SINGLE_TABLE 설정 후 DiscriminatorColumn에 이름을 명시하지 않으면 default 값은 DTYPE 이다.)

- @DiscriminatorValue(“A”)

  •  DiscriminatorColumn 에서 생성한 컬럼에 A라는 값으로 들어간다   

 

 

 

반응형

'공부방 > JPA' 카테고리의 다른 글

프록시  (0) 2023.03.10
MappedSuperclass  (0) 2023.03.05
다양한 연관관계 매핑  (0) 2023.02.22
연관관계 매핑 기초  (0) 2023.02.19
엔티티 매핑  (0) 2023.02.18
Comments