요구사항 분석

기능목록

  • 회원 기능
    • 회원 등록
    • 회원 조회
  • 상품 기능
    • 상품 등록
    • 상품 수정
    • 상품 조회
  • 주문 기능
    • 상품 주문
    • 주문 내역 조회
    • 주문 취소
  • 기타 요구사항
    • 상품은 재고 관리가 필요하다.
    • 상품은 카테고리로 구분할 수 있고 도서, 음반, 영화가 있다.
    • 상품 주문 시 배송 정보를 입력할 수 있다.

도메인 모델과 테이블 설계

도메인

엔티티

테이블

엔티티 클래스 개발

https://github.com/hongbre/spring-jpashop

 

GitHub - hongbre/spring-jpashop

Contribute to hongbre/spring-jpashop development by creating an account on GitHub.

github.com

 

  1. 다중성(관계의 수) 기준
    • OneToOne(1:1)
      • 하나의 엔티티가 다른 엔티티와 오직 하나의 관계만 가질 때 사용
      • ORDERS와 DELIVERY
    • ManyToOne(N:1)
      • 여러 엔티티가 하나의 엔티티와 관계를 맺을 때 사용
      • ORDER_ITEM과 ITEM
    • OneToMany(1:N)
      • 하나의 엔티티가 여러 엔티티와 관계를 맺을 때 사용
      • ORDERS와 ORDER_ITEM
    • ManyToMany(N:N)
      • 여러 엔티티가 서로 다수와 관계를 맺을 때 사용
      • 실무에서는 사용을 지양하고, 중간 엔티티를 만들기를 권장
      • ITEM과 CATEGORY
  2. 방향 및 연관관계의 주인
    • 단방향
      • 한쪽 엔티티만 다른 엔티티를 참조
      • 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

+ Recent posts