객체와 달리 DB에는 상속관계가 대부분 없고, 비슷한 개념으로 슈퍼타입 서브타임 관계라는 모델링 기법이 존재한다. 객체의 상속구조와 DB의 슈퍼타입 서브타입 관계를 매핑하는 것을 상속관계 매핑이라 하며, @Inheritance
를 통해 설정할 수 있다.
이 상속관계 매핑에는 대표적으로 아래 세 가지 전략이 있으며, JPA에서 모두 지원한다.
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@Inheritance(strategy = InheritanceType.JOINED)
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
참고 https://velog.io/@devsh/JPA-상속-관계-매핑-Inheritance-MappedSuperclass