<aside> 💡 웬만해선 조인 전략 , 단순하면 단일 테이블 전략

</aside>

✅상속관계 매핑

Untitled

✅ 주요 어노테이션

@Inheritance(strategy=InheritanceType.XXX) 
	JOINED: 조인 전략
	SINGLE_TABLE: 단일 테이블 전략
	TABLE_PER_CLASS: 구현 클래스마다 테이블 전략
@DiscriminatorColumn(name=“DTYPE”) 
@DiscriminatorValue(“XXX”)

✅ 조인 전략

Untitled

이런식으로 @Inheritance 에 전략을 JOINED하면 상속받은 각각 클래스가 테이블로 만들어지는걸 확인할 수 있다.

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn // DTYPE 만들어주는 것 자식들은 @DiscriminatorValue("~~") 
public abstract class Item {  //추상클래스로 하는 이유는 Item만 독단적으로 쓸 수 없기에!

    @Id @GeneratedValue
    private Long id;

    private String name;
    private int price;
}

Untitled

✅ 단일 테이블 전략

Untitled