JPA - 일정관리 앱 만들기

2024. 10. 17. 11:46·TIL

과제 내용

이번 과제는 JPA를 활용하여 일정관리 앱을 만드는 것이였습니다. 

이번에는 각각의 API마다 정리를 했으니 블로그 봐주세요 !!

https://haseung22.tistory.com/

 

haseung22의 블로그

haseung22 의 블로그 입니다.

haseung22.tistory.com

 

 

과제를 하며 있었던 트러블 슈팅

배경

과제의 요구사항 중 일정 담당 유저 (매니저)와 일정의 연관관계를 N:M으로 하라는 요구사항이 있었는데

이걸 어떻게 할지 고민하다가 처음에는 User와 Todo 테이블 이외에 일정 담당 유저를 관리하는 Manger 테이블과 일정과 그 Manager 테이블을 N:M으로 연관 짓기 위하여 Management라는 테이블을 하나 또 만들어서 연관관계를 맺어줬었다.

근데 코드를 계속 보다 보니  Management 엔티티를 굳이 사용해야될까..? 라는 생각이 들었다.

 

해결

기존에 Management 테이블을 삭제하고 User 테이블과 Todo 테이블을 N:M관계로 맺어주기로했다.

하지만 N:M 관계로 ManyToMany를 쓰는 방식은 좋지 않은 방식이기 때문에 Manager 테이블을

중간다리 역할로 사용하였다.

 

회고

 

과제나 프로젝트 기간에는 정말 정신도 없고 시간이 녹는 것 같다... 저번 과제에서 JDBC를 사용하였을 때에는

중복되는 코드가 엄청 많았는데 이번에 JPA를 사용해보니 중복되는 코드가 거의 없어 마음이 편안해졌다

무엇보다 레벨 마다 요구사항을 추가해주며 엔티티의 컬럼들도 바꿨는데 그 때마다 SQL문을 수정하지 않아도 된다는게

정말 큰 장점이였던 것 같다. 

 

 

 

'TIL' 카테고리의 다른 글

뉴스피드 프로젝트 리팩토링  (1) 2024.10.25
REST, REST API, RESTful  (2) 2024.10.21
JPA - 회원가입 로그인  (0) 2024.10.17
JPA - JWT와 필터 구현하기  (1) 2024.10.16
영속성 컨텍스트  (1) 2024.10.16
'TIL' 카테고리의 다른 글
  • 뉴스피드 프로젝트 리팩토링
  • REST, REST API, RESTful
  • JPA - 회원가입 로그인
  • JPA - JWT와 필터 구현하기
haseung22
haseung22
haseung22 의 블로그 입니다.
  • haseung22
    haseung22의 블로그
    haseung22
  • 전체
    오늘
    어제
    • 분류 전체보기 (56)
      • TIL (39)
      • 프로그래머스 (8)
      • 프로젝트 (5)
      • 면접 대비 (4)
        • 자료구조 (3)
        • Java (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JPA
    회고
    querydsl
    오블완
    계산기
    팀 프로젝트
    내배캠
    뉴스피드
    공부
    til
    docker
    Spring
    리팩토링
    프로그래머스
    자료구조
    알고리즘
    Spring Boot
    티스토리챌린지
    과제
    java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
haseung22
JPA - 일정관리 앱 만들기
상단으로

티스토리툴바