1. 주문 ORDERS
- Orders - Member : 다대일 관계
- 데이터베이스의 키워드로 order가 있으니까 구분하기 위해 orders를 넣는다
- order 테이블에 여러 개의 order가 모두 보여야한다.
- 컬렉션이라서 중간 테이블이 생성된다.
@OneToMany
private List<Order> orderList = new ArrayList<>();
@ManyToOne(cascade = CascadeType.ALL) // order, member 중에서 order를 연관관계의 주인으로 만들려면?
private Member member;
- OrderDetail - Product : 일대다 관계
- 컬렉션이라서 중간 테이블이 생성된다.
- Datail 테이블에서는 상품 정보가 필요하지만 상품 테이블에서는 주문 상세 정보가 필요없다.
@ManyToOne // Product 테이블에는 orderDetail 필드가 필요없다.(?)
private Product product; // 상품명
Ex) 주문 test
- Test
java
열기
Note) 실행 결과
- Member
- 멤버 안에는 List<Order> orderList 가 멤버로 있다 .
- 컬렉션 형태이기 때문에 멤버 테이블에는 null이고 중간테이블인 "member_order_list"라는 테이블이 새로 생성된다.


- Order
- 57번 회원이 7번 주문

- OrdersOrderDetailList
- 7번 Order에 1번 OrderDetail, 2번 OrderDetail이 있다. 두 개의 상품을 주문
- Order 엔티티에 List<OrderDatail> 컬렉션을 넣었다.
- 따라서, 중간 테이블인 Orders_ordere_detail_list 이라는 새로운 테이블이 생성된다.

- OrderDetail
- 위에 있는 7번 주문의 디테일 1번, 2번에 대한 상품의 주문 정보와 상품 번호를 조회 가능하다.

- MemberOrderList
- 아무 데이터도 들어가지 않는다.


오류)

java
열기- 오류: AuthenticationFailedException
- 원인: yml 파일에 이메일 주소를 잘못 적어서 생긴 오류, 그리고 yml 파일은 들여쓰기도 조심해야한다.
점검사항
- 수령인 상세 정보는 상세 정보가 아닌 주문 정보에 넣는다.
- 주문 테이블의 PK는 order_id 보다 id로 하는게 나을 것 같다.
- 주문에 결제 관련 정보, 쿠폰 정보를 넣어야한다.
- 지금까지 양방향으로 매핑했는데 단방향 매핑도 고려해봐야겠다.
'Spring Projcect > [갠플] Online-mall' 카테고리의 다른 글
[9일차] 관리자 API - 상품 등록, 수정, 삭제 (1) | 2022.10.04 |
---|---|
[7일차] 관리자 API - 상품 조회 (0) | 2022.09.29 |
[6일차] 관리자 로그인, 상품 등록 (0) | 2022.09.28 |
[5일차] 연관 관계 매핑 - 장바구니, 쿠폰 (0) | 2022.09.27 |
[4일차] 오류 해결, 로그인 히스토리 (0) | 2022.09.24 |