


@Inheritance
기본값이 SINGLE_TABLE이다.
이를 JOINED로 바꿔주면 조인 전략으로 바뀐다.

이와 같이 extends를 통해 엮어준다.
싱글 테이블일때

조인일때

여기서 추가로,

@DiscriminatorColumn 어노테이션을 추가로 넣으면
extends로 받은 자식엔티티들을 DTYPE으로 구분이 가능하다.
참고로 DTYPE의 이름을 각각 따로 설정해주고 싶다면,
Movie, Book 등의 엔티티에
@DiscriminatorValue("설정하고 싶은 이름")을 추가하면 된다.


모든 자식 테이블을 한곳에 합치는 전략.
구분하기 위해 DTYPE이 필수다.
JOIN을 쓰지 않기 때문에 간편해 보이지만,
어딘가 나사빠져 보이는 구조.

Item 테이블을 없애고 해당 컬럼들(item_id, name, price)를 전부 밑으로 내려서 처리
사용하기 용이해보이나, find로 찾을때 모든 테이블을 다 뒤져야하는 불편함이 있음.
@Inheritance(strategy=InheritanceType.XXX)@DiscriminatorColumn(name="DTYPE")@DiscriminatorValue("XXX")