관계를 설정함은 외래키를 주고 - 갖고있는 관계이다.
외래키를 가진 쪽을 외래키의 주인이라고 생각하자.
관계는 크게 1:1, 1:N, N:M으로 나눌 수 있다.
1:1은 @OneToOne,
1:N(N:1)은 @OneToMany, @ManyToOne
N:M은 @ManyToMany 애너테이션을 사용할 것이다.
Spring Entity 관계는 방향성이 존재해 관계설정 애너테이션 해준 엔티티에서만 참조가능하다.
두 엔티티 모두 @OneToOne, @OneToMany, .. 등의 관계설정시 양방향이고,
한 쪽 엔티티에서만 정의하였다면 단방향이다.
양방향의 경우
외래키를 가진 쪽에 @JoinColumn() 을,
제공하는 쪽에 @OneToMany(mappedBy = "상대편엔터티외래키필드명")같은 mappedBy 속성을 추가한다.