1.Album, Book, Movie 클래스 세팅
실습
설명
-Item Package로 옮긴 Album,Book,Movie를 Item클래스로부터 extends를 사용해
상속받게 한다.
-@Entiyty @Getter @Setter 세팅
2.Item과 Album, Book, Movie클래스 상속관계매핑 세팅
실습
a. 싱글테이블전략사용
-상속관계전략을 지정해주어야 한다.(중요!!)
-전략을 부분 클래스에 잡아주어야 하고, 싱글테이블전략을 사용한다.
*여기에서는 싱글테이블 전략을 사용
@Inheritance(strategy = InheritanceType.SINGLE_TABLE) 설정을 한다.
*@inheritance 타입에 전략 종류 3가지
a. (strategy = inheritanceType.Joined) - 가장 정교화된 스타일
b. (strategy = InheritanceType.TABLE_PER_CLASS)
- 상속받는 클래스를 각각 테이블화 하는 전략
c. (strategy = InheritanceType.SINGLE_TABLE) - 한테이블에 전부 넣는전략
#InheritanceType strategy 자세히 보는 방법
(strategy = InheritanceType)에서 Inheritance 우클릭해서
Find Usage->Enum의 Inheritance Type 클릭
b.@DiscriminatorColumn(name= "dtype")
실습
설명
-ITEM: 앨범, 도서, 화 타입을 통합해서 하나의 테이블로 만들었다.
dtype 컬럼으로 타입을 구분한다. 컬럼사용을 통해 저장 되어 있는 자식테이블을 구분할 수 있다.
-기본값은 dtype이다.
c.@DiscriminatorValue("B") -> Album, Music에도 동일하게 "A", "M"로 세팅
실습
설명
-싱글테이블일 때 book컬럼을 저장할 때 구분할 수 있는 무언가가 DB입장에서 필요하다.
이 때 넣는 값이다.
-이때 book클래스에서 클래스에 @DiscriminatorValue("B") 로 세팅해준다.
B값으로 안하고 기본값으로 두면 Book으로 값이 들어간다.
2. OrderItem와 Item 연관관계 설정
실습
설명
OrderItem ->private Item item 어노테이션 세팅
-@ManyToOne : 주문상품과 상품의 관계, 다대 1관계를 설정해주는 어노테이션
-@JoinColumn(name = "item_id")
*@JoinColumn 어노테이션은 외래 키를 매핑 할 때 사용
*name 속성에는 매핑 할 외래키(연관관계주인) 이름지정
-item_id = foregien key(외래키)
-상품테이블에서 상품에 대한 정보를 매핑
-다대일 단방향 관계다
'신입개발자로 취업하기까지 > JPA쇼핑몰기능구축' 카테고리의 다른 글
20200519 도메인분석설계_엔티티클래스 개발 1-6 (0) | 2020.06.07 |
---|---|
20200518 도메인분석설계_엔티티클래스 개발 1-5 (0) | 2020.06.07 |
20200516 도메인분석설계_엔티티클래스 개발 1-3 (0) | 2020.06.07 |
20200511 도메인분석설계_엔티티클래스 개발 1-2 (0) | 2020.05.27 |
20200509 도메인분석설계_엔티티클래스 개발 1-1 (0) | 2020.05.23 |