Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

메모장

JPA 상속관계 매핑 본문

Java

JPA 상속관계 매핑

doopang 2022. 2. 2. 23:39
  • 상속관계 매핑 전략
    • 조인 전략
      • 장점
        • 테이블 정규화
        • 외래키 참조 무결성 제약조건 활용가능
        • 저장공간 효율화
      • 단점
        • 조회시 조인을 많이 사용, 성능 저하
        • 조회 쿼리가 복잡함
        • 데이터 저장시 INSERT SQL 2번 호출
    • 단일 테이블 전략
      • 장점
        • 조인이 필요 없으므로 일반적으로 조회 성능이 빠름
        • 조회 쿼리가 단순함
      • 단점
        • 자식 엔티티가 매핑한 컬럼은 모두 null 허용
        • 단일 테이블에 모든 것을 저장하므로 테이블이 커질 수 있다. 상황에 따라서 조회 성능이 오히려 느려질 수 있다.
    • 구현 클래스 마다 테이블 전략
      • 이 전략은 데이터베이스 설계자와 ORM 전문가 둘다 추천X
      • 장점
        • 서브 타입을 명확하게 구분해서 처리할 때 효과적
        • not null 제약조건 사용 가능
      • 단점
        • 여러 자식 테이블을 함께 조회할 때 성능이 느림(UNION SQL 필요)
        • 자식 테이블을 통합해서 쿼리하기 어려움
  • 주요 어노테이션
    • @Inheritance(strategy=InheritanceType.XXX)
      • JOINED: 조인 전략
      • SINGLE_TABLE: 단일 테이블 전
      • TABLE_PER_CLASS: 구현 클래스 마다 테이블 전략
    • @DiscriminatorColumn(name="DTYPE")
    • @DiscriminatorValue("XXX")

'Java' 카테고리의 다른 글

JPA Transaction 분리하고 싶을 때  (0) 2022.04.10
JPA delete 다음에 insert 하기  (0) 2022.04.10
JPA 즉시 로딩과 지연 로딩  (0) 2022.02.02
JPA @MappedSuperclass  (0) 2022.02.02
JPA 연관관계 매핑  (0) 2022.01.24