인프런 커뮤니티 질문&답변

Jeonghee Lee님의 프로필 이미지
Jeonghee Lee

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

영속성 컨텍스트 1

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

작성

·

239

0

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

답변 1

1

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

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

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

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

감사합니다.


Jeonghee Lee님의 프로필 이미지
Jeonghee Lee

작성한 질문수

질문하기