Many To One 이 주인인 이유?

서재환·2021년 12월 1일

Spring

목록 보기
6/9

게시글이 MySQL에 저장될 때 DB의 모습

게시글에 달린 댓글이 MySQL에 저장될 때 DB의 모습

게시글과 게시글에 대한 댓글이 존재한다고 하고 두 테이블 사이에 주인관계를 정해야 한다고 할 때 
거의 ManyToOne 인 테이블이 주인이다.

그 이유는 게시글의 입장에서 댓글이 여러개 달리기 때문에 댓글을 게시글의 테이블에 저장할 수 있는
구조가 될 수 없기 때문이다. 게시글의 id는 해당 게시글이 고유한 게시글임을 나타내주는 column 명
인데 해당 게시글에 대한 여러개의 댓글을 저장하게 될 경우 id는 게시글에 대한 고유 id로서 기능을
하지 못한다.

따라서 두개의 테이블 간 연관이 있을 때 OneToMany, ManyToOne의 관계 속에선 ManyToOne이 주인
이 된다. 그 이유는 앞서 말한 이유를 해결할 수 있는 테이블이기 때문이다. 댓글 하나하나에 고유한
id를 부여하게 될 경우 각 댓글은 자신이 속한 게시글의 id를 column으로 가지면 되기 때문이다. 그
럴 경우 댓글의 id가 고유하고 게시글 테이블과 연관관계를 맺을 수 있다.

0개의 댓글