연관 관계 매핑 종류

PK를 주는 테이블의 경우 애너테이션 안함.(mapped by 설정)

FK를 가지는 테이블일 경우 애너테이션 설정.(@Join column 설정)

@JoinColumn(name=”매핑할 외래키”)

name에는 매핑할 외래키를 넣어준다. 즉 조인할 다른 테이블의 PK를 넣어주면 된다.

(어느 테이블인지는 명시하지 않아도 된다.)

name을 명시하지 않으면 JPA가 알아서 ID를 찾지만 컬럼 명이 원하는 대로 생성되지 않을 수 있기 때문에 직접 작성하는게 좋다.

PK의 이름은 다 다르게 설정해 주기

양방향 매핑에서는 연관 관계의 주인을 설정해야된다.

테이블은 외래키 하나로 양방향 조회가 가능하지만,

엔티티는 테이블과 다르다.

엔티티를 양방향 연관 관계로 설정하면 객체의 참조는 둘인데 외래키는 하나 이므로 둘 중 누가 외래키를 관리할 지 정해야 한다.

@ManyToOne의 경우에는 @JoinColumn과 함께 쓰자.