상속관계 매핑
관계형 데이터베이스는 상속관계가 없다
슈퍼타입 서브타입 관계라는 모델링 기업이 객체 상속과 유사
상속관계 매핑: 객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑
@DiscriminatorColumn
디타입
디비만 쿼리 나렷을때 앨범때문에 들어왔는지 무비인지 알수가 없기 때문에
그렇기 때문에 디타입은 웬만하면 넣어두는게 낫다
@DiscriminatorValue("B")
테이블마다 디타입에 들어갈 이름을 정할 수 있다
@MappedSuperclass
상속관계 매핑하고 관계가 없다.
공통 매핑 정보다 필요할 때 사용 (id, name)
조회 검색불가 (em.find(BaseEntity)불가)
직접 생성해서 사용할 일이 없으므로 추상 클래스 권장
단일테이블
1. 조인이 필요가 없다
2. 조회 쿼리가 단순함
단점
1. 자식 엔티티가 매핑한 컬럼은 모두 null 허용 - 데이터 무결성의 입장에서는 좀 그렇다.
2. 단일 테이블에 모든 것을 저장하므로 테이블이 커질 수 있다. 상황에 따라서 조회 성능이 오히려 느려질 수 있다.
'- 코딩 공부 > Spring' 카테고리의 다른 글
JPA - 엔티티 맵핑 (0) | 2023.05.25 |
---|---|
JPA 소개 (0) | 2023.05.02 |
스프링 데이터 JPA - 섹션7 나머지 기능들 (0) | 2023.04.26 |
섹션 4. 쿼리 메소드 기능 (0) | 2023.04.11 |
11. 스프링 트랜잭션 전파2 - 활용 (0) | 2023.01.31 |