본문 바로가기

Java/JPA

상속관계 테이블 설계 전략

조인 전략을 기본으로

 

확장할 일도 없을거같고 데이터도 넘 단순하다 -> 싱글 테이블 전략

 

근데, 비즈니스적으로 중요하고 복잡하다 -> 조인 테이블 전략


@Inheritance(strategy=InheritanceType.JOINED : 조인전략

SINGLE_TABLE : 단일 테이블 전략

@DiscriminatorColumn(name="DTYPE") : 싱글테이블 사용 시 필수. DTYPE을 만들어주는 어노테이션. 어떤 구체적인 서브타입인지(ex.Book,Movie...) 알려준다.

@DiscriminatorValue("XXX") : 따로 지정하지 않으면 기본으로 엔티티 이름을 사용한


단일 테이블 전략 단점 : 자식 엔티티가 매핑한 컬럼은 모두 null 허용

'Java > JPA' 카테고리의 다른 글

프록시, 즉시로딩 주의  (0) 2023.11.17
@MappedSuperclass  (0) 2023.11.17
연관관계 매핑(양방향)  (0) 2023.11.15
연관관계 매핑(단방향)  (0) 2023.11.15
JPA 매커니즘  (0) 2023.11.12