스터디/Spring
Spring 스터디3 - 2
라퐁
2025. 6. 16. 23:17
요구사항 분석
기능목록
- 회원 기능
- 회원 등록
- 회원 조회
- 상품 기능
- 상품 등록
- 상품 수정
- 상품 조회
- 주문 기능
- 상품 주문
- 주문 내역 조회
- 주문 취소
- 기타 요구사항
- 상품은 재고 관리가 필요하다.
- 상품은 카테고리로 구분할 수 있고 도서, 음반, 영화가 있다.
- 상품 주문 시 배송 정보를 입력할 수 있다.
도메인 모델과 테이블 설계
도메인
엔티티
테이블
엔티티 클래스 개발
https://github.com/hongbre/spring-jpashop
GitHub - hongbre/spring-jpashop
Contribute to hongbre/spring-jpashop development by creating an account on GitHub.
github.com
- 다중성(관계의 수) 기준
- OneToOne(1:1)
- 하나의 엔티티가 다른 엔티티와 오직 하나의 관계만 가질 때 사용
- ORDERS와 DELIVERY
- ManyToOne(N:1)
- 여러 엔티티가 하나의 엔티티와 관계를 맺을 때 사용
- ORDER_ITEM과 ITEM
- OneToMany(1:N)
- 하나의 엔티티가 여러 엔티티와 관계를 맺을 때 사용
- ORDERS와 ORDER_ITEM
- ManyToMany(N:N)
- 여러 엔티티가 서로 다수와 관계를 맺을 때 사용
- 실무에서는 사용을 지양하고, 중간 엔티티를 만들기를 권장
- ITEM과 CATEGORY
- OneToOne(1:1)
- 방향 및 연관관계의 주인
- 단방향
- 한쪽 엔티티만 다른 엔티티를 참조
- ORDER_ITEM과 ITEM의 관계만 단방향
- 양방향
- 양쪽 엔티티가 서로를 참조
- 연관관계의 주인(Owner)
- 외래키(FK)를 가진 엔티티가 연관관계의 주인이 된다
- 주인 엔티티에서만 연관관계의 변경(CUD)이 가능
- 단방향