JPA 쿼리 날리는것 관련 질문입니다!

미해결질문
Taehee-kim-dev 프로필

기선님 안녕하세요!

JPA에서 쿼리를 한번만 날려야 할 것 같은데, 왜 두 번 날리는지 궁금해서 여쭤봅니다.

아래에 두 사진이 있고 각각 설명을 달아놓았습니다.

사진1) 테스트 코드

JPA에 대해 강의를 들은것을 떠올려보면,

JPA가 워낙 똑똑해서, 어차피 findAll()을 한 후 allPost.get(0)을 통해 동일한 첫 번째 객체에 대해서만

두 번 assert체크를 할 거니까,

select 쿼리를 한번만 날리고, 가져온 동일 객체에 대해 assert체크를 두 번 해야한다고 생각했습니다.

그런데 select 쿼리문이 아래와 같이 두 번 날라갔습니다.

2) 테스트 결과 로그

왜 쿼리문이 한 번만 날라가지 않고 두 번 날라간 건가요?

백기선 프로필
백기선 3달 전

테스트를 감싸는 트랜잭션이 없어서 그런거 같은데, 테스트 위에 @Transactional 애노테이션을 사용해 보세요.

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스