해결된 질문
작성
·
1.2K
0
강좌에는 카테고리-상품에 N:M 다대다 관계로 해놓으셨는데요!
제가 30살인데 29살에 퇴사하고 혼자 JPA공부해서 학교다니던 친구와 백1프론트1을 맡아서 프로젝트를 만들고있는데.. 1:N, N:1은 좀 해결했는데 N:M에서 막히고있어요ㅠㅠ 약간 힌트라도 주실 수 있으신지 해서 여쭤봅니다. 질문이 너무 많아서 힘드시면 직접적으로 말씀하셔도괜찮습니다..!
만약에 이런 경우는 어떻게 하나요?
1.여러명의 회원은 여러개의 게시글을 찜목록에 추가할 수 있다.
1-1. 여러명의 회원은 여러개의 공고를 찜목록에 추가할 수 있다.
1-2. 여러명의 회원은 여러개의 기업을 찜목록에 추가할수있다.
USER(회원)과 기업/공고/게시글 엔티티 사이에 중간테이블을 놓고 유저ID랑, 각각 필요한 기업/공고/게시글 아이디로 매핑해놓은 상태인데요 - 검은색
이렇게 하는게 맞는지 궁금합니다.
[회원]은 여러개의 [이력서]로 [공고]에 [지원]할 수 있다라고 해서
이력서와 공고의 N:M관계를 해소하고자 중간테이블을 만들고 지원한다라는 APPLY 엔티티를 따로 만들었는데, JPA에서도 이렇게 하면 되는건가요..?
DB상으로는 외래키가 PK가 되면서 한 테이블안에 PK가 없어도 된다는 식으로 들었는데, 검색을해보니 JPK는 PK가 있어야된다하더라구요!?
만약에 N:M관계 중간에 중간테이블을 만들면 보통은 외래키 2개가 들어가는데, JPA식으로 만들면 PK, FK, FK해서 총 3개가 만들어지는게 맞나요?
이렇게 나오는데.. intelliJ나 datagrip에서는 흔히 까마귀발이라고 하는 1:N, N:1 관계는 안보여주더라구요..!
그리고 mysql workbench reverse engineer모드로 erd를 그려봤는데..여기에서는 1:1관계도 1:N으로 나오는데...(분명히 유저와 멤버는 @OneToOne으로 양방향 매핑했는데도 이렇게 나옵니다.
혹시 DB를 설계하면서 잘 되었는지 erd로 뽑아보고싶은데, 아직 완벽하게 보여주는 건 없는건가요..?
답변 2
0
역시 강의참고해서 많이혼자 해봐야겠네요...! 감사합니다