책으로 배웠을떄 그려러니 하면서 넘어가서 활용을 할때 잘 사용하지 못했던 부분에 대해서 다시 뒤로돌아가 배워봤다.
이러한 데이터 중심설계의 문제점!!!!
-> 객체를 테이블에 맞추어 데이터 중심설계로 가면 협력관계를 만들수 없다.
-> 조회하거나 수정을 할떄 맴버 객체 얻어오고 ,아이디 얻어오고 팀 객체얻어오고 아이디얻어오고..... 객체지향이 아니다!
테이블 vs객체 차이점
자유롭게 양쪽에서 조회가능!
양방향 연관관계를 당하는(?) 쪽에서는 꼭 mappedBy를 써줘야한다.
객체의 양방향은 사실 단방향 두개이다
테이블은 fk 하나로 양쪽 자유롭게 (양방향) 가능 하다.
양방향 매핑 규칙
• 객체의 두 관계중 하나를 연관관계의 주인으로 지정
• 연관관계의 주인만이 외래 키를 관리(등록, 수정)
• 주인이 아닌쪽은 읽기만 가능
• 주인은 mappedBy 속성 사용X
• 주인이 아니면 mappedBy 속성으로 주인 지정'
• 다대일 경우 '다' 쪽이 무조건 fk를 가지고 연관관계 주인이다.
-핵심-
단방향으로도 맵핑이 끝나니 될수 있으면 단방향으로하고 나중에 필요할때(조회) 그때 양방향으로 만든다. 굳이 양방향으로 스타트 할필요 없다.