JPA에서 대부분 다대일 ( N:1)를 많이 사용하지만 일대다 연관관계도 필요하니 알아보도록하자
JPA에서 주인 설정은 매우 중요한 요소이다
테이블 일대다 관계는 항상 다(N)쪽에 외래 키가 있고, 객체와 테이블의 차이 때문에 반대편 외래 키를
관리하는 특이한 구조이다. 그래서 @JoinColumn을 꼭 사용하거나 조인 테이블 방식을 사용해야 한다
일대다 매핑에는 단방향 매핑과 양방향 매핑이 있다
| 단방향 매핑의 단점
- 엔티티가 관리하는 외래키가 다른 테이블에 있음 (특이한 구조)
- 연관관계 관리를 위해 추가로 UPDATE SQL 실행 (비효율)
※ 일대다 단방향 매핑보다는 다대일 양방향 매핑을 사용하자
| 일대다 양방향 매핑
- 이런 매핑은 공식적으로 존재하지 않는다
- @JoinColumn(insertable=false, updatable=false)을 사용해야 오류가 안생긴다
- 읽기 전용 필드를 사용해서 양방향 처럼 사용하는 방법
※ 다대일 양방향을 사용하자
이 글은 김영한님의 JPA강의를 보고 공부한 글입니다
'프레임워크 > JPA' 카테고리의 다른 글
[JPA] 여러가지 JPA 전략@Inheritance(strategy=InheritanceType.xxxx) (0) | 2022.03.21 |
---|---|
[JPA] 일대일 [1:1] 연관관계 매핑 (0) | 2022.03.21 |
[JPA] 객체지향에서의 양방향 설정 (0) | 2022.03.16 |
[JPA] 객체지향에서의 단방향 설정 (0) | 2022.03.16 |
[JPA] 엔티티와 매핑 (0) | 2022.03.14 |
댓글