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

pandabear님의 프로필 이미지

작성한 질문수

실전! Querydsl

수정, 삭제 벌크 연산

10:10 bulkUpdate 질문입니다.

해결된 질문

21.07.16 16:20 작성

·

217

0

안녕하세요! 강의 재밌게 듣고 있습니다.
bulkUpdate 부분에서
flush, clear를 하지 않았는데도 업데이트 후의 값으로 나옵니다.
hibernate 버전 업데이트의 영향인 걸까요?
hibernate 버전은 5.5.10 을 쓰고 있습니다.

답변 2

2

pandabear님의 프로필 이미지
pandabear
질문자

2021. 07. 17. 22:09

답변 감사합니다! 강사님 코드와 똑같이 쳤다고 생각했는데 안 되서 확인해보니 @BeforeEach 에서 member 를 넣어준 후 flush, clear 를 호출하고 있었습니다. 그래서 query 실행 후 영속성 컨텍스트에서 찾지 않고 DB에서 찾은 것 같습니다!

2

김영한님의 프로필 이미지
김영한
지식공유자

2021. 07. 16. 20:57

안녕하세요. pandabear님^^

테스트가 잘못되었습니다.

selectFrom을 사용하게 되면 JPQL이 실행됩니다. JPQL은 실행직전에 플러시를 호출합니다.

그리고 현재 영속성 컨텍스트에 아무런 데이터가 없기 때문에 JPQL 조회는 데이터베이스를 조회하게 됩니다. 따라서 최신 결과를 찾아서 보여주게 됩니다.

감사합니다.