Section 1. 상품 Entity 설계
1. 상품 판매 상태 enum 클래스
- enum 클래스에 대한 개념
- com.shop.constant.ItemSellStatus.java 생성
- 상품의 현재 판매 상태 (판매, 품절)를 나타내는 상수값 (SELL, SOLD_OUT)
2. 상품 클래스 생성 _ Ver 1
- com.shop.entity.Item.java 생성
- 상품 판매 상태의 값은 ItemSellStatus 열거형의 값을 가짐
3. Entity 관련 Annotation
어노테이션 | 설명 |
---|
@Entity | 클래스를 엔티티로 선언 |
@Table | 엔티티와 매핑할 테이블을 지정 |
@Id | 테이블의 기본키에 사용할 속성을 지정 |
@GeneratedValue | 키 값을 생성하는 방법 지정 |
@Column | 필드와 컬럼 매핑 |
@Enumerated | enum 타입 매핑 |
4. 상품 클래스 생성 _ Ver 2
- @Table 지정하지 않으면 클래스 이름과 동일한 것을 매핑
5. 상품 테이블 생성
- Web Application 실행 시 @Entity 지정된 클래스를 기반으로 테이블 매핑
- spring.jpa.hibernate.ddl-auto=create 설정으로 인해서 테이블 drop 후 create
- Hibernate 에서 자동으로 bigint 형식으로 sequence++
- MySQL-WorkBench 에서 확인