다대일 [N:1]
@ManyToOne
다대일 단방향 -> 가장 많이 사용, 다대일의 반대는 일대다
다대일 양방향 -> 외래 키가 있는 쪽이 연관관계의 주인, 양쪽을 서로 참조하도록 개발
일대다 [1:N]
@OneToMany
( 이 모델은 권장하지 않음. 실무에서 거의 사용하지 않음. )
일대다 단방향 -> 일(1)이 연관관계의 주인, 테이블 일대다 관계는 다(N)쪽에 외래 키가 있음
일대다 단방향 단점 -> 엔티티가 관리하는 외래 키가 다른 테이블에 있음, 일대다 단방향 매핑보다는
다대일 양방향 매핑을 사용하자
일대다 양방향 -> 공식적으로 존재 X, @JoinColumn(insertable=false, updatable=false)
다대일 양방향 매핑을 사용하자
일대일 [1:1]
@OneToOne
일대일 관계는 그 반대도 일대일
일대일 단방향 -> 다대일 단방향 매핑과 유사
일대일 양방향 -> 한곳에 mappedBy 잡아줄것
다대다 [N:M]
@ManyToMany
@JoinTable로 연결 테이블 지정
다대다 매핑의 한계
- 편리해 보이지만 실무에서 사용 X
- 연결 테이블이 단순히 연결만 하고 끝나지 않음
- 주문시간, 수량 같은 데이터가 들어올 수 있음
다대다 한계 극복
@ManyToMany -> OneToMany, @ManyToOne
인프런 김영한님의 JPA 기본편을 듣고 작성한 글입니다.
자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의
JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., - 강의 소개 | 인프런
www.inflearn.com
'JPA' 카테고리의 다른 글
프록시와 연관관계 (즉시로딩, 지연로딩) (0) | 2022.07.02 |
---|---|
상속관계 매핑 (0) | 2022.06.29 |
연관관계의 주인과 주의점 (0) | 2022.05.14 |
JPA 연관관계 매핑 기초 (0) | 2022.05.13 |
JPA 엔티티 매핑 (0) | 2022.05.11 |
댓글