엔티티분석
ORDER
-id
-member : Member
-orderitems : List
-delivery : Delivery
-orderDate : Date
-status : OrderStatus
Orderitem
-id
-item : Item
-order : Order
-orderPrice
-count
Delivery
-id
-order : Order
-address : Address
-status : DeliveryStatus
테이블 분석
ORDERS
-MEMBER_ID (FK)
-DELIVERY_ID (FK)
-ORDERDATE
-STATUS
ORDER_ITEM
-ORDER_ID(FK)
-ITEM_ID(FK)
-ORDERPRICE
-COUNT
DELIVERY
-DELIVERY_ID
-STATUS
-CITY
-STREET
-ZIPCODE
1. 주문엔티티 추가 개발
실습
a. Order클래스에서
-private List<OrderItem> orderItems = new ArrayList<>(); (OrderItem클래스 생성)
-prviate Delivery delivery; (Delivery 클래스 생성)
-private LocalDateTime orderDate; (주문시간)
*자바8이전엔은 private Date date을 만들어주고, Date를 import 해야했으며,
날짜관련 어노테이션 매핑을 해주었어야 했다.
자바8에서는 LocalDateTime를 사용하면 hibernate가 자동으로 위의 행위들을 대신해준다.
-Private OrderStatus status; (@Enumerated(EnumType.STRING)어노테이션 설정해줄 것!)
*(OrderStatus 클래스생성 -> 이것으로 주문상태 Order, Cancel를 관리한다.)
OrderStatus클래스 생성
실습
b. orderItem 클래스 개발
실습
@ManyToOne과 @JoinColumn 어노테이션 사용에 대한 설명
order과 orderItem 엔티티분석 (양방향연관관계)
-하나의 order과 여러개의 orderItem을 가질 수 있고
orderItem은 하나의 order만 가질 수 있다.
매핑에도 order클래스에도 orderitems클래스에도 order가 있다.
order과 orderItem 테이블분석
-orderItem( )에 foreign key가 들어간다.
order_id가 들어간다. 하나의 주문에 여러개의 orderItem이 들어가기 때문에
-orderItem에서 order가 연관관계의 주인이 된다.
orderItem에 이어 order측 세팅
@OneToMany(mappedBy = "order") -> Order클래스에서 확인
Private List<OrderItem> orderItems = new Arraylist<>();
-order에 의해서 맵핑이 된다는 의미
-@OneToMany : 회원과 주문의 관계, 1대 다 관계를 설정해주는 어노테이션
-@OneToMany (mapped by = "order")
*foreign key가 있는 OrderItem클래스에 있는 order가 연관관계의 주인이다.
*mapped by - orderItem 테이블에 있는 order필드에 의해 맵핑된 거울일 뿐이야라는 뜻
d.OrderItem에 private Item item과 연동되는 Item클래스 세팅
설명
public abstract class (추상클래스로 만든다. 구현체를 가지고 만들 것이기 때문에)
e.Item엔티티분석, 실습 및 Item package 생성 (위의 실습사진 참고)
ITEM 엔티티분석
-id
-name
-price: int
-stockQuantity
-categories : List
ITEM 테이블분석
ITEM_ID
-NAME
-PRICE
-STOCKQUANTITY
-DTYPE
-ARTIST
-ETC
-AUTHOR
-ISBN
-DIRECTOR
-ACTOR
-stockQuantity 매핑을 해주어야 하고, 밑에 Album, Book, Movie와 상속관계이다.
* 상속관계공부 필요
* private - 속성
* name, price, stockQuantity - 공통속성
-상속할 Album, Book, Movie은 일일이 만들어주어야 하는 것들이다.
Item package 생성
설명
-Item package를 만들어 Item,Album, Book, Movie클래스에 옮긴다.
'신입개발자로 취업하기까지 > JPA쇼핑몰기능구축' 카테고리의 다른 글
20200518 도메인분석설계_엔티티클래스 개발 1-5 (0) | 2020.06.07 |
---|---|
20200517 도메인분석설계_엔티티클래스 개발 1-4 (0) | 2020.06.07 |
20200511 도메인분석설계_엔티티클래스 개발 1-2 (0) | 2020.05.27 |
20200509 도메인분석설계_엔티티클래스 개발 1-1 (0) | 2020.05.23 |
20200506 도메인분석설계_도메인모델과 테이블설계_2-4 (0) | 2020.05.19 |