기능 목록 | |
회원 기능 | - 회원 등록 - 회원 조회 |
상품 기능 | - 상품 등록 - 상품 수정 - 상품 조회 |
주문 기능 | - 상품 주문 - 주문 내역 조회 - 주문 취소 |
기타 요구사항 | - 상품은 재고 관리가 필요하다. - 상품의 종류는 도서, 음반, 영화가 있다. - 상품을 카테고리로 구분할 수 있다. - 상품 주문시 배송 정보를 입력할 수 있다 |
다대다 관계가 JPA에서는 성립되지 않기 때문에 join테이블을 생성하여 이어질 수 있도록 한다
Foreign Key가 연관관계의 주인이 되는 것이다. 반대편에 있는 것은 단순 조회에 사용된다.
연관관계 매핑 분석 | |
회원과 주문 | 일대다, 다대일의 양방향 관계 연관관계의 주인은 외래키가 있는 ORDERS을 주인으로 정한다 따라서 Order.member를 ORDERS.MEMBER_ID 외래키와 매핑한다 |
주문상품과 주문 | 다대일 양방향 관계 외래키가 주문상품에 있으니 주문상품이 연관관계의 주인 OrderItem.order를 ORDER_ITEM.ORDER_ID와 매핑함 |
주문상품과 상품 | 다대일 양방향 관계 OrderItem.order를 ORDER_ITEM.ORDER_ID 외래키와 매핑 |
주문과 배송 | 다대일 단방향 관계 Order.delivery를 ORDERS.DELIVERY_ID 외래키와 매핑 |
카테고리와 상품 | @ManyToMany를 사용해서 매핑(실무에서는 사용x) |
'SpringBoot 코딩 > JPA와 SpringBoot코딩' 카테고리의 다른 글
3. 도메인 설계 (0) | 2022.05.16 |
---|---|
1. JPAShop 기본설정(JpaShop) (0) | 2022.05.16 |