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

민준수님의 프로필 이미지
민준수

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

실전 예제 3 - 다양한 연관관계 매핑

ManyToMany 연관관계 관련 질문

작성

·

199

0

1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
안녕하세요? 강의를 열심히 듣다가 궁금한 점이 생겨서 질문 드립니다!

 

@ManyToMany 와 복합키에 관련된 부분에 대해서 궁금한 점이 있는데, 일반적으로 실무에서 @ManyToMany 관계를 사용하지 않는 이유로 단순히 연관 연결 뿐 아니라 그 외에 특정한 데이터들이 들어올 수 있기 때문에 새로운 Entity로 승격시켜 생성한다는 부분은 이해하였습니다. 또한, 이를 정의하면서 복합키를 사용하지 않고 새로운 대체키를 생성하는 부분 역시 이해하였습니다.

 

하지만, 만약 팔로잉 테이블을 구현한다고 가정한다면 제가 생각하기엔 팔로잉 하는 사람의 ID 값과 팔로우 하는 사람의 ID 값만 저장하면 된다고 생각하는데 이런 경우에는

 

1. ManyToMany 관계를 사용하는지?

2. 새로운 대체키를 사용하는지?

 

이 부분이 궁금합니다.

 

또한, 실무에서 팔로잉 기능을 개발한다고 가정하면 위에서 설명한 단순히 2개의 외래키만 사용하는 것이 아닌 생성일 같은 데이터를 추가하여 좀 더 자세하게 관리하는지 역시 궁금합니다.

답변 1

0

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

안녕하세요. 민준수님

간단하게 답변을 드리자면, 실무에서는 절대로 @ManyToMany를 사용하면 안됩니다. 항상 중간 테이블과 중간 엔티티가 나와야 합니다.

추가로 질문 주신 부분은 PK를 만드는 부분이라 생각되는데요. 이 부분은 DB가 만들어주는 임의의 id를 사용하셔도 괜찮습니다.

감사합니다.

민준수님의 프로필 이미지
민준수

작성한 질문수

질문하기