반응형
양방향 연관관계
앞서 OneToMany , ManyToOne, OneToOne, ManyToMany 관계를 알아보았다. 양방향 연관관계는 ManyToMany를 말하는 것이 아니다. OneToMany 와 ManyToOne 으로 서로 연관관계를 맺었을 때에 대한 이야기이다.
-- sudo code --
public class One{
private Long id;
@ManyToOne
@JoinColumn(name = "TWO")
private Two two;
}
-- sudo code --
public class Two{
private Long id;
@OneToMany(mappedby= "two")
private List<One> ones;
}
아래와 같이 서로 양방향으로 연관을 맺었을 때 이 mappedby를 어떻게 사용하냐에 대한 이야기이다.
간략하게 말하자면, 연관관계의 주인을 찾아야하는데 그 연관관계의 주인은 외래키를 가지고 있는 class 가 되어야 한다는 것이다.
이유
만약 외래키가 없는 테이블에 영속성을 통해 값을 넣었을 경우에 외래키가 있는 테이블 까지 업데이트가 되어야 하기 때문이다.
즉: mappedby는 연관관계의 주인이 아닌 곳에 다는 것이고, 그 뜻은 외래키가 없다는 뜻이다.
반응형
'Spring > JPA' 카테고리의 다른 글
태태개발일지 - 트랜잭션? (0) | 2024.12.03 |
---|---|
태태개발일지 - JPA PK Key (0) | 2024.12.03 |
태태개발일지 - JPA 슈퍼타입 (1) | 2024.11.20 |
태태개발일지 - ActionQueue (3) | 2024.11.18 |
태태개발일지 - ManyToMany (2) | 2024.11.15 |