테이블은 하나지만 특정 type컬럼에 따라 논리적으로는 성격이 나뉘는 경우가 있다.
예를 들자면 우리집 반려동물 테이블에 고양이와 강아지가 함께 들어있는데 강아지만 최근 산책 정보를 갖고 있는 경우이다.
이럴 때, 부모 엔티티를 두고 각 타입별로 자식 엔티티를 만들어 Inheritance Mapping을 지어줄 수 있다.
분류 기준이 되는 컬럼은 Discriminator Column으로 표시해주면 된다.
아래 예시는 TYPE이라는 컬럼이 분류 기준인 경우이다. 사용할 TYPE 값 중 하나는 A이다.
<Parent>
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="type")
<Child>
@DiscriminatorValue("A")
https://www.baeldung.com/hibernate-inheritance
https://browndwarf.tistory.com/54
Entity Inheritance in Hibernate - (2) Single-Table 상속 전략
Overview Single-Table 상속 전략은 상속 관계에 있는 Entity를 모두 묶어서 하나의 Table로 만드는 방식이다. 이전에 사용한 예제를 Single-Table 상속전략을 사용했을 경우를 개념적으로 도식화 하면 과 같
browndwarf.tistory.com
'software engineering > web' 카테고리의 다른 글
React.js 환경변수 사용하기 REACT_APP_ (0) | 2022.01.27 |
---|---|
Javascript ERR_UPLOAD_FILE_CHANGED 에러 (1) | 2022.01.10 |
JPA OneToOne Relationship (0) | 2022.01.10 |
같은 클래스인데 왜 ClassCastException이 발생하는걸까? Redis Cache Manager가 DevTools와 만났을 때 (0) | 2020.08.22 |
Java의 File Path 상대경로 (0) | 2020.04.06 |