관계의 주인은 외래키를 갖고있어 관리하는 엔티티라고 생각하였는데, 관계의 주인이란 외래키 변경 감지의 대상이라고 생각해야 한다.
@ManyToMany
관계에서 mappedBy
를 통해 관계의 주인을 설정하였는데, 처음에는 중간테이블이 만들어지고 양쪽 엔티티 모두 외래키가 필요 없는데 mappedBy
로 관계의 주인을 설정할 이유가 없지 않나 생각이 들었다.
하지만 관계의 주인이란 단순히 외래키를 갖고 있는 대상을 말하는 것이 아니라, 외래키 변경의 기준이 되는 대상을 의미하는 것이다.