본문 바로가기

백엔드 개발/플젝 리팩토링

05. [Mybatis에서 JPA로] 기능 목록 정리 및 엔티티 설계

 

 

기능 목록

  • 회원 기능
    • 회원 가입
    • 회원 로그인 / 로그아웃
    • 회원 조회
  • 호텔 예약 기능
    • 호텔 예약 주문
    • 호텔 예약 조회
    • 호텔 예약 취소
  • 공지사항
    • 공지사항 글 등록
    • 공지사항 글 조회
    • 공지사항 글 수정
    • 공지사항 글 삭제
  • 기타 요구사항
    • 호텔 객실 잔여 객실(재고) 관리 필요
    • 호텔의 종류는 서울 지역으로 국한됨
    • 호텔을 카테고리로 구분 할 수 있다 (카테고리 고민..어떤 카테고리로 묶을것인가..)

도메인 모델과 테이블 재설계

  • 회원은 여러 호텔 예약을 할 수 있다. 그리고 한 번 주문할 때 여러 호텔(상품)을 선택할 수 있다. (장바구니에 담아서 한꺼번에 결제 가능)
    • 회원 : 주문의 관계는 '1 : 多 관계'
    • 주문 : 호텔(상품)의 관계는 '多 : 多 관계' -> ERD DB에서나 엔티티에서도 다대다 관계는 거의 사용하지 않기 때문에, 중간에 '주문상품'이라는 엔티티 추가하여 '多 : 多 관계'를 '多 : 1 관계'로 풀어놓았다.
    • 호텔 분류는 어떠한 기준을 잡아, 어떻게 카테고리를 분류할 것인지 (이는 고민중)