• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

10:10 bulkUpdate 질문입니다.

21.07.16 16:20 작성 조회수 146

0

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

답변 2

·

답변을 작성해보세요.

2

pandabear님의 프로필

pandabear

질문자

2021.07.17

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

2

안녕하세요. pandabear님^^

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

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

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

감사합니다.