인프런 커뮤니티 질문&답변

kim hyunbin 님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

API 개발 고급 정리

다대다 관계를 중간테이블을 생성하였을 때 중간 테이블을 사용하는 방법이 궁금합니다.

24.02.22 11:31 작성

·

530

·

수정됨

0

만약에 주문이라는 내용이 실제로 많이 필요하지 않고 서로 구매 여부만 판단하고 싶을 때 제가 생각했을 때 Member과 Item 사이의 중간 테이블만 만들어서 외래키로만 조회를 하면서 구매 여부를 판단해도 되지 않을 까 싶은데 그러면 문제점이 무엇인지도 알고 싶습니다.

마지막으로는 중간 테이블에는 @ManyToOne을 수업에서 제공하신대로 작성해였는데, Member입장에서 중간 테이블을 조회하게 되면 DB가 뻥튀기 되기도 하고, member 테이블에서 굳이 item 어떤 것을 샀는지나 주문이 어떤것인지를 더하면 뭔가 멤버라는 엔티티의 기본 속성들을 회손하는것 같아서 @OneToMany를 제거하려고 하는데 2개의 일대다 에서 모두 제거해도 괜찮은지 여쭙고 싶습니다.

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

2024. 02. 23. 14:46

안녕하세요. kim hyunbin님

첫번째 질문은 프로젝트의 요구사항이 무언가에 따라서 답이 달라집니다. 요구사항을 만족하는 상황이라면 생각하신 것 처럼 모델링을 해도 괜찮습니다.

두번째 질문은 생각하신 것 처럼 member -> item으로 일대다 연관관계는 필요하지 않을 가능성이 높습니다. 저의 경우에도 실제 프로젝트에서는 member에서 order나 item으로의 연관관계는 만들지 않습니다.

감사합니다.