PK를 주는 테이블의 경우 애너테이션 안함.(mapped by 설정)
FK를 가지는 테이블일 경우 애너테이션 설정.(@Join column 설정)
@JoinColumn(name=”매핑할 외래키”)
name에는 매핑할 외래키를 넣어준다. 즉 조인할 다른 테이블의 PK를 넣어주면 된다.
(어느 테이블인지는 명시하지 않아도 된다.)
name을 명시하지 않으면 JPA가 알아서 ID를 찾지만 컬럼 명이 원하는 대로 생성되지 않을 수 있기 때문에 직접 작성하는게 좋다.
PK의 이름은 다 다르게 설정해 주기
양방향 매핑에서는 연관 관계의 주인을 설정해야된다.
테이블은 외래키 하나로 양방향 조회가 가능하지만,
엔티티는 테이블과 다르다.
엔티티를 양방향 연관 관계로 설정하면 객체의 참조는 둘인데 외래키는 하나 이므로 둘 중 누가 외래키를 관리할 지 정해야 한다.
@ManyToOne의 경우에는 @JoinColumn과 함께 쓰자.
MappedBy로 정한다.
@JoinColumn 이 있는 곳이 주인 (FK인 곳)
없는 곳에 (mappedBy=”외래키 이름”) 으로 설정하기.(PK인 곳)