• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

마지막 부분 즉시로딩

21.11.16 01:47 작성 조회수 439

1

일대일 양방향 관계에서 [17:40]

단점: 프록시 기능의 한계로 지연 로딩으로 설정해도 항상 즉시 로딩됨(프록시는 뒤에서 설명) 그림

---------------------------------

그러면 이그림과 비슷한

이것도 마찬가지로 Membe는즉시로딩으로만 가져오나요 ?

 

답변 5

·

답변을 작성해보세요.

1

안녕하세요. 기팝님 희선님

다음을 참고해주세요.

https://www.inflearn.com/questions/224187

https://www.inflearn.com/questions/179434

감사합니다.

1

안녕하세요. 기팝님

우선 잘 테스트해보셨습니다.

Q: 일대일  대상 테이블에 외래 키, 결과를 보시면 즉시 로딩이 된거 같은데...

-> LAZY로 설정을 했기 때문에 JOIN으로 한번에 가져오지 않습니다. 대신에 일대일의 한계로 인해서 MEMBER 조회 시점에 바로 추가 쿼리가 실행되어서 Locker도 가지고 옵니다. 만약 EAGER라면 join을 사용해서 한번에 조회하게 됩니다.

Q: 일대다 양방향

-> 이 부분은 정상 LAZY 처리가 되는 것이 맞습니다.

감사합니다.

기팝님의 프로필

기팝

질문자

2021.11.22

감사합니다.

 

'LAZY로 설정을 했기 때문에 JOIN으로 한번에 가져오지 않습니다. 대신에 일대일의 한계로 인해서 MEMBER 조회 시점에 바로 추가 쿼리가 실행되어서 Locker도 가지고 옵니다'

이 말씀이 저의 첫 질문인

일대일 양방향 관계에서 [17:40]

단점: 프록시 기능의 한계로 지연 로딩으로 설정해도 항상 즉시 로딩됨(프록시는 뒤에서 설명) 그림

이거 말씀이신거죠  ??

 

죄송합니다 영한님 테스트 결과를 토대로 하나만더 여쭈어보겠습니다 ㅠ

왜 1:1 일때만 프록시 기능의 한계로 지연 로딩으로 설정해도 항상 즉시 로딩됨 << 이런 현상이 나타는건가요 ?

[일대다 양방향 일떈 lazy 확인.]

1

기팝님의 프로필

기팝

질문자

2021.11.20

안녕하세요 말씀 해 주신대로 테스트를  해보고 있습니다.

우선 일대일  대상 테이블에 외래 키 양방향일경우[양쪽다 Lazy 설정 했습니다.]

결과 :

결과를 보시면 즉시 로딩이 된거 같은데...

저는 inner join 으로 가져올거같았는데 따로 따로 쿼리를 두방을 날리는게 맞나요 ?

 

=============================

그리고 일대다 양방향[Lazy 설정]

결과 : 

일대다는 즉시로딩이아닌 lazy로딩이 된거같습니다.

제가 혹시 잘못한게 있을까요?

맞다면 왜 차이가 있는건가요 ㅠㅠ?

하나는 즉시,하나는 지연로딩

0

유희선님의 프로필

유희선

2022.01.21

저도 궁금해요... 프록시 PK 설정때문에 @OneToOne 지연로딩이 안된다면,  일대다는 왜 lazy가 되는거죠 ㅠ_ㅠ???

0

안녕하세요 기팝님^^

제가 직접 정답을 알려드릴 수 도 있지만, 그러면 더 많은 것을 얻어가지 못합니다.

개발자는 궁금한 부분을 직접 코드로 테스트 해볼 때 가장 많이 배울 수 있습니다.

해당 부분을 코드로 직접 테스트해보시고, 그 결과를 공유해주세요. 그러면 함께 공부하는 분들께도 큰 도움이 될거에요.

그럼 테스트 해보시고 결과도 정리해서 공유 부탁드립니다.

감사합니다.