Java ORM 표준 JPA 프로그래밍 -김영한
1:1 관계: 테이블설계 단계에서 FK컬럼을 어디에 둘지 정해야 된다.
1:N 관계: 1측에서 @JoinColumn
으로 상대방의 FK컬럼을 관리하면 성능상 좋지않다. 유지보수 측면도 좋지 않다. → N측에서 JoinColumn 으로 상대방의 FK컬럼을 관리하는것이 바람직하다.
@JoinColumn
으로 소유자 되고, 상대방을 참조@JoinColumn
을 사용하긴 하지만, 소유자는 1명만 될수 있으므로 읽기 속성으로 사용한다.
N:1 관계: N측에서 @JoinColumn
으로 자신의 FK컬럼을 관리한다.
mappedBy
속성으로 피소유자를 자신의 외래키변수에 매핑한다.N:M 관계: