인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

taehee-kim-dev님의 프로필 이미지
taehee-kim-dev

작성한 질문수

스프링 데이터 JPA

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

작성

·

420

0

기선님 안녕하세요!

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

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

사진1) 테스트 코드

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

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

두 번 assert체크를 할 거니까,

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

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

2) 테스트 결과 로그

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

답변 1

0

백기선님의 프로필 이미지
백기선
지식공유자

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

taehee-kim-dev님의 프로필 이미지
taehee-kim-dev

작성한 질문수

질문하기