8 : 20 개발실Log
홈
생각정리
방명록
8시20분 ::
8 : 20 개발실Log
방명록 남기기
[7장] 고급 매핑
책 스터디 정리/JPA ORM 스터디
2023. 5. 9. 08:20
7-1. 상속 관계 매핑
관계형 DB에는 객체지향 언어의 "상속" 이라는 개념 X
슈퍼타입/서브타입 관계가 객체 상속 개념과 유사
각각의 테이블로 변환
각각을 모두 테이블로 만들고, 조회시 JOIN 사용
JPA에서 조인 전략이라 부름
통합 테이블로 변환
테이블을 하나만 사용하여 통합
JPA에서 단일 테이블 전략이라 부름
서브타입 테이블로 변환
서브 타입마다 하나의 테이블을 만듬
JPA에서 구현 클래스마다 테이블 전략이라 부름
조인 전략
엔티티 각각을 모두 테이블로 만들고 자식 테이블이 부모 테이블의 기본키를 받아서 기본키 + 외래키로 사용하는 전략
조회시 JOIN을 자주 사용
객체는 타입으로 구분 가능 / 테이블은 타입의 개념이 X → 타입을 구분하는 칼럼 추가 필요
테이블 정규화 / 저장공간 효율성의 장점
조회시 JOIN 다수 사용으로 성능 저하 가능성 / 조회 쿼리의 복잡성 상승의 단점
단일 테이블 전략
테이블 하나만 사용
구분 컬럼으로 어떤 데이터가 저장되었는지 구분
조회시 조인 미사용 → 일반적으로 가장 빠름
자식 엔티티가 매핑한 칼럼은 모두 null을 허용해야함
조회 쿼리가 단순
구분 칼럼의 사용이 필수
구현 클래스마다 테이블 전략
자식 엔티티 마다 테이블 생성
일반적으로 추천 X
서브 타입 구분 처리의 장점 / 조회시 UNION 사용으로 성능이 느린 단점
7-2. 복합 키와 식별 관계 매핑
식별 관계 vs 비식별 관계
식별 관계: 부모 테이블의 기본 키를 자식 테이블의 기본키 + 외래키로 사용하는 관계
비식별 관계: 부모 테이블의 기본키를 받아서 자식 테이블의 외래키로만 사용하는 관계
외래키에 null 허용 여부에 따라 필수적 비식별과 선택적 비식별로 나뉨
필수적 비식별 관계: 외래 키에 NULL 허용 X, 연관관계 필수
선택적 비식별 관계: 외래 키에 NULL 허용, 연관관계를 맺을지 말지 선택 가능
비식별 관계를 주로 사용/ 꼭 필요한 곳에만 식별 관계 사용
공유하기
게시글 관리
8 : 20 개발실Log
저작자표시
'
책 스터디 정리
>
JPA ORM 스터디
' 카테고리의 다른 글
[6장] 다양한 연관관계 매핑
(0)
2023.05.02
[5장] 연관관계 매핑 기초
(0)
2023.04.25
[4장] 엔티티 매핑
(0)
2023.04.18
[3장] 영속성 관리
(0)
2023.04.11
[1장] JPA 소개
(0)
2023.04.04
티스토리툴바
8 : 20 개발실Log
구독하기
[7장] 고급 매핑
7-1. 상속 관계 매핑
조인 전략
단일 테이블 전략
구현 클래스마다 테이블 전략
7-2. 복합 키와 식별 관계 매핑
식별 관계 vs 비식별 관계
'책 스터디 정리 > JPA ORM 스터디' 카테고리의 다른 글