ORM

    [ORM] 상속 관계 매핑

    객체 지향 언어에서는 '상속' 관계가 존재합니다. 그러나 관계형 데이터베이스에는 상속이라는 개념이 없는데요, 그래도 가장 유사한 관계가 '슈퍼타입 서브타입 관계'라는 모델링 기법입니다. 그리고 이 '슈퍼타입 서브 타입 관계'라는 논리적 모델을 실제 물리 모델(테이블)로 구현할 때는 3가지 방법이 있습니다. 1. 각각의 테이블로 변환시키고 조인하는 방법 JPA에서는 '조인 전략' (Joined)이라고 부릅니다. 구체적으로 엔티티 각각을 테이블로 모두 만들고 부모 테이블의 기본키를 받아서 이를 기본키이자 외래키로 사용합니다. 그래서 조회할 때 조인을 자주 사용합니다. 주의할 점은 객체는 타입으로 하위 객체들을 구분할 수 있지만 테이블은 타입의 개념이 없으므로 따로 구분하는 컬럼을 부모 테이블에 추가해야합니다..