[스프링] JPA 상속관계 매핑
·
스프링
JPA를 사용하다 보면 하나의 부모 클래스(슈퍼타입)를 여러 자식 클래스(서브타입)가 상속받는 구조를 자주 만든다.예를 들어, Item이라는 추상 클래스를 Book, Album, Movie가 상속받는 구조가 그 예다. 객체지향 프로그래밍에서는 이처럼 상속 구조를 활용하는 것이 자연스럽지만,관계형 데이터베이스에는 상속이라는 개념이 존재하지 않는다. 대신 데이터베이스는 슈퍼타입/서브타입 모델링이라는 방식으로 이 문제를 해결한다.그리고 JPA는 이 모델링 방식을 그대로 매핑할 수 있도록 다양한 전략을 제공한다. 그러므로 이번 장에서는 JPA의 상속관계 매핑에 대해 정리한다.각 전략이 어떤 방식으로 테이블을 구성하며, 어떤 장단점을 갖는지, 실무에서는 어떤 전략이 자주 쓰이는지 중심으로 설명한다. 상속관계 매핑..