-
Part 4(Ch 7, 8, 9) - M:N(다대다) 관계와 파일 업로드 처리SpringBoot 2024. 1. 15. 01:34
(책 - 코드로 배우는 스프링 부트 웹 프로젝트)
https://github.com/uqualid/SBW-ex7-mreview
GitHub - uqualid/SBW-ex7-mreview
Contribute to uqualid/SBW-ex7-mreview development by creating an account on GitHub.
github.com
영화/리뷰(목록, 평균 평점) 프로젝트에 사진을 등록하기 위해 파일 업로드 처리 방식을 적용했다
1. M:N(다대다) 관계
JPA에서 대부분의 M:N 처리는 @ManyToMany와 별도의 엔터티 설계 후 @ManyToOne으로 처리하는 방식이 있는데, 해당 프로젝트에서는 후자의 방법을 사용하였다
ERD 영화, 리뷰, 회원, 이미지 엔터티가 각각 1:N 관계로 구성되어 있다
그중에서도 review 테이블을 movie와 m_member 테이블이 양쪽에서 PK를 참조하는 형태로 구현되어 있는데, 이가 @ManyToMany와 두드러지는 차이라고 볼 수 있겠다
- 영화 하나 당 여러 개의 사진, 영화 하나 당 여러 개의 리뷰가 조인
- 대부분 이 역할은 JQuery로 Repository단에서 처리하게 된다(혹은 JPQL 사용
2. 파일 업로드 처리
파일 업로드 관련 작업은 Ajax 방식으로 처리된다
그런데? 우리에겐 MVC가 있다... 스킵
'SpringBoot' 카테고리의 다른 글
Enum 열거형 선언(엔터티 내, 별도 엔터티) (0) 2024.03.02 ch5, 6 - N:1(다대일 관계) 처리하기(+ @RestController와 JSON 처리) (0) 2024.01.02 ch4 - 방명록 프로젝트 톺아보기 (0) 2023.12.28 ch2 - Spring Data JPA (0) 2023.12.21 [5주차] 댓글 CRUD 구현 (0) 2023.12.04