Jpa

연관관계 매핑

chbong 2024. 7. 2. 17:38

단방향 매핑 

● @JoinColumn 어노테이션의 name 속성에 매핑된 PK 이름을 설정할수 있다.

● 테이블에서는 외래키 하나로 양쪽 조인 가능 (방향이 없음)

 

@JoinColumn(name = "team_id")

양방향

● 양방향이라해도 객체에서는 단방향과 단방향관계 2개이다.

● 테이블에서는 외래키 하나로 두 테이블의 연관관계를 가진다. 

● 단방향 매핑을 잘 하고 양방향은 필요할 때 추가해도 무관

mappedBy 속성값으로 연관관계의 주인 설정

@OneToMany(mappedBy = "team")

연관관계의 주인

양방향 매핑 규칙

● 객체의 두 관계중 하나를 연관관계의 주인으로 지정

● 연관관계의 주인만이 외래 키를 관리 (수정 , 등록)

● 주인이 아닌 쪽에서는 수정 등록 불가 조회만 가능

● 주인은 mappedBy 속성을 사용하지않음

● 주인이 아니면 mappedBy 속성으로 주인 지정

● 주인은 외래 키가 있는 곳을 주인으로 지정

 

 출처 - https://www.inflearn.com/course/ORM-JPA-Basic