반응형
💭 오늘의 학습 전략
# 연관 관계 매핑
◼️ 참조 방향성 기준
◾단방향 연관 관계
◾양방향 연관 관계
◼️ 참조 객체수 기준
◾일 대 다 1:N
◾다 대 일 N:1
◾다 대 다 N:N
◾일 대 일 1:1
🌼 학습한 것들
◾ JDBC와 달리 JPA는 양방향 매핑까지 지원
◾ 1:N
▪️ 1에 해당하는 클래스가 N에 해당하는 클래스 참조
▪️ 보통 N테이블 (FK) -> 1테이블 (PK)
▪️ 가급적 사용하지 않는다. @OneToMany 불필요한 update 발생
◾ N:1
▪️ @ManyToOne
@JoinColumn(name="_FK_")
▪️ 객체 그래프 탐색을 통해 원하는 값을 확인하지 못할 때
=> 1:N 매핑을 추가해서 양방향 관계로 만들어주면 됨.
=> @OneToMany(mappedBy="N 클래스 FK 역할 필드")
// Order Entity
@ManyToOne
@JoinColumn(name="MEMBER_ID")
private Member member;
//Member Entity
@OneToMany(mappedBy="member")
private List<Order> orders = new ArrayList<>();
◾ N:N
▪️ 두 개의 N:1 (단방향) 매핑 적용 후 필요한 경우 양방향 매핑 적용
▪️ @ManyToMany (X)
◾ 1:1
▪️ @OneToOne
▪️ @JoinColumn은 어디도 상관 없지만 적절한 방식 채택 필요
🔥 보충이 필요한 것들
◾ N:N, 1:1 매핑
💨 하루를 마치며
1. 이해가 갈 듯 말 듯 했다. 특히 N:N
2. N:1 매핑을 많이 해왔어서 그것만 익숙하고 나머지는 제대로 알지 못 하고 사용해왔던 것 같다.
3. 1:1 매핑에서 어디에서 조인을 걸어줄 지는 더 공부해야겠다.
4. 지각을 했다. 😴;;
반응형
'공부기록 > TIL' 카테고리의 다른 글
2023/01/14 TIL | 테스팅 (2) 슬라이스 테스트 (0) | 2023.01.04 |
---|---|
2023/01/03 TIL | 테스팅 (1) 단위 테스트 (0) | 2023.01.03 |
2022/12/27 TIL | JPA (1) JPA, Entity 매핑 (0) | 2022.12.29 |
2022/12/23 TIL | Spring Data JDBC (2) (0) | 2022.12.23 |
2022/12/22 TIL | Spring Data JDBC (1) | 2022.12.22 |
댓글