요구사항 분석
기능목록
- 회원 기능
- 회원 등록
- 회원 조회
- 상품 기능
- 상품 등록
- 상품 수정
- 상품 조회
- 주문 기능
- 상품 주문
- 주문 내역 조회
- 주문 취소
- 기타 요구사항
- 상품은 재고 관리가 필요하다.
- 상품은 카테고리로 구분할 수 있고 도서, 음반, 영화가 있다.
- 상품 주문 시 배송 정보를 입력할 수 있다.
도메인 모델과 테이블 설계
도메인
엔티티
테이블
엔티티 클래스 개발
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)이 가능
- 단방향
'스터디 > JPA' 카테고리의 다른 글
JPA 스터디2 - 3 (2) | 2025.07.30 |
---|---|
JPA 스터디2 - 2 (2) | 2025.07.14 |
JPA 스터디2 - 1 (1) | 2025.07.13 |
JPA 스터디1 - 3 (0) | 2025.07.01 |
JPA 스터디1 - 1 (1) | 2025.06.10 |