• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

JPA 쿼리 로깅 관련해서 질문이 있습니다.

23.07.14 16:55 작성 조회수 201

0

선생님 안녕하세요 하나 질문이 있습니다. Jpa 사용할때 쿼리를 로그에 찍도록 설정했고 잘 동작합니다. 그런데 그냥 실행시킬때는 찍히지 않는 쿼리가 브레이크 포인트를 걸어서 한줄씩 실행시킬때는 로그에 출력되는 경우가 있습니다. 혹시 이유가 있을까요? 브레이크 포인트를 걸면 select 쿼리가 더 많이 찍혀서 궁금해 문의드립니다.

답변 1

답변을 작성해보세요.

1

codesweaver님의 프로필

codesweaver

2023.07.15

안녕하세요. Jeonghee Lee님, 공식 서포터즈 코즈위버입니다.

엔터티 연관관계를 Lazy로 설정한 경우 말씀하신 것처럼 디버그 모드에서 더 많은 쿼리가 찍힐 수 있습니다.

아시다시피 Lazy 로 설정한 엔터티는 실제 값을 사용하기 전에는 프록시 객체만 존재하는 상태인데요, 디버그 모드에서는 한 줄, 한 줄 실행할 때마다 객체의 현재 값을 모두 가져오기 때문에 Lazy 설정이 쓸모 없어집니다.

이 부분에 유념해서 쿼리가 찍히는 타이밍을 한 번 살펴보시면 좋을것 같습니다.

감사합니다.