카테고리 없음
JPA following, follower 관계
흰색남자
2022. 7. 21. 16:55
N:M 관계를 사용하지 않고 following follower 관계를 어떻게 구현할까??
following, follower 관계를 사용한 예시 중 하나는 채팅방이 있을 수 있다.
사용자는 여러개의 채팅방에 참여가능하고, 채팅방에는 여러명의 사용자가 존재한다.
1. N : M 의 문제점.
일단 RDMS에서는 다 대 다 관계를 표현이 불가능하다.
왼쪽에서는 N:M을 표현해보았다.
사용자 테이블의 ID가 PK역할을 못하는 것을 볼 수 있고, 채팅 테이블도 마찬가지이다.
N:M관계를 왼쪽처럼 풀어서 보면 사용자, 그룹, 채팅 3가지 테이블의 ID가 PK역할을 충실히 하는 것을 볼 수 있다.
2. spring-jpa를 이용한 N:M >> N:1 + M:1 구현방법
지금 하고 있는 개인 토이프로젝트에서 N:M 문제를 해결해보았다.
맨 위에서 설명하였듯이, 중간에 테이블을 하나 삽입하여 1:N, 1:M으로 풀어내었다.