작성
·
458
답변 2
1
안녕하세요. 김민지님
주 테이블이 member라고 하면,
member table에 locker의 외래키 값이 있으면, member table만 확인해도 locker의 데이터가 있는지 판단할 수 있습니다.
감사합니다.
0
그렇다면 ManyToOne 관계에서 FK가 Many 쪽에 있고 One에 FK가 없으니,
One을 조회할때 eager로 데이터를 다 가져와야 할 것같은데
One에서 lazy로 가져오는 걸 허용하는 이유가 뭘까요?
One에 입장에서 Many측에 데이터가 얼마나 많은지 알 수 없고 하니,
다 가져오는데 있어 효율적이지 않으므로(데이터를 안쓸 수도 있으니) lazy로 프록시 객체만 생성하고,
이후 해당 데이터를 조회할때 데이터를 가져오는 건데
이처럼 OneToOne 양방향에서도 FK를 관리하지 않는쪽에서 다른 대상 테이블에 자신의 PK를 FK로 갖고 있으니, lazy로 가져올 수 있지않나 싶습니다.
하이버네이트에서 이 경우는 Many때와 달리 데이터를 바로 eager로 가져오는게 효율적이라고 판단해서 이렇게 설계된 것이라고 생각하면 될까요?
lazy로 가져오게 할 수 있을것 같아서 여쭤봅니다.
(연관관계 있는 대상 테이블이 뭔지 알고, FK가 무엇인지도 아니)
답변주시면 감사드리겠습니다.
안녕하세요. 유승현님
다음을 참고해주세요.
https://www.inflearn.com/questions/224187
감사합니다.