학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
Q1.
강의에서 설명하시는 1:1, 1:N, N:1, N:M 의 다중성은 모두
DB의 테이블 간 연관관계에 대한 이야기가 아니라 ,
자바 객체(Entity) 간의 연관관계에 대한 내용이 맞는지 궁금합니다.
그래서 실제 프로젝트를 하면서 테이블을 설계하고,
이와 대응되도록 객체를 설계할 때,
DB의 테이블간 연관관계는 1:N 으로 설계가 되었더라도,
이를 JPA를 사용한 자바 객체와 대응시킬 때는
이번장에서 설명하시는 1:N이 아니라
그냥 앞 장의 N:1로 객체 연관관계를 설계해야 한다
라고 이해하는게 맞는지 궁금합니다.
(강의 마지막에서의 결론도 이렇게 내주셨는데,
DB의 테이블이 1:N이어도 ~ 객체는 N:1로 설계)
Q2.
또한 1:N이 아니라
강의에서 N:1 로 설계하되,
연관관계 주인이 아닌쪽에서도 객체 참조를 추가한다
라고 설명해주신 부분은,
Member와 Team을 예로 들 때
Member가 "다" 에 해당하니 Member의 team 필드가 연관관계 주인이 되는것 맞지만,
동시에 Team 객체의 members도 생성 해주고
이 Team 객체쪽에 연관관계 편의 메서드를 정의하여,
Team객체를 통한 연관관계 편의 메서드 호출을 통하여
Member 테이블의 FK가 벼뀌도록 한다
라고 이해하는게 맞는지 궁금합니다 (강의 9:00 내용중 )
(이렇게 연관관계 편의 메서드 없이 Member를 "다"로 하여 "다대일"로 객체간 연관관계를 설정하면,
어쨌든 Member의 team 필드가 바뀌어야, 실제 Member 테이블의 FK가 변하게 되니,
Team쪽에 연관관계 편의 메서드를 두고 이를 사용한다
로 이해하였습니다)