예제 시나리오
• 회원과 팀이 있다.
• 회원은 하나의 팀에만 소속될 수 있다.
• 회원과 팀은 다대일 관계다.
1. 테이블 간의 연관 관계 예시
→ Member 테이블이 Team테이블의 PK를 FK로 가지도록 한다.
2. Java 객체에서 이러한 연관관계를 어떻게 표현할 수 있을까?
(1) (비추천) Memebr 객체에 Team의 PK를 변수로 넣는다.
- 가장 직관적인 방식으로, DB의 테이블 구조를 클래스로 그대로 표현한 것이다.
- 단점 :
- member 객체에서 team객체를 조회하려면 (jpa를 통해) teamId pk로 Team 객체를 조회해야 한다.
- 해당 teamId를 갖는 team객체를 찾기 위해 영속성 컨텍스트, DB를 조회하는 과정이 필요 => 오래 걸린다.
- 또 조회 로직을 따로 짜주어야한다.
(2) (추천) Member 객체가 Team 객체를 참조한다.
- 참조를 통해 member 객체에서 team객체 바로 볼 수 있음.
- 조회 과정을 거치지 않기 때문에 빠르고, 간편하다.
'TIL' 카테고리의 다른 글
SLOW QUERY 란? 성능 개선은 어떻게 이루어지는지 (0) | 2024.05.03 |
---|---|
함수 명명시 자주 사용되는 동사 표현 정리 (유의어, 반의어) (1) | 2024.05.02 |
JPA 단방향 연관관계, 양방향 연관관계 (1) | 2024.04.28 |
Java 기초 문법(2) (0) | 2024.02.19 |
Java 기초 문법 (1) (0) | 2024.02.18 |