• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

안녕하세요 벌크 수정 쿼리 em.flush() 질문입니다.

20.07.03 00:55 작성 조회수 93

0

안녕하세요, 좋은 강의 만들어주셔서 감사합니다.

강의듣다가 궁금한것이 생겨 질문드립니다.

em.flush() 전에 벌크 수정쿼리를 날려 db에는 41살, 1차캐시에는 40살인데 em.flush()를 하면 db가 40살로 바뀌는게 아닌가요?

결과값이 41로 나온걸로 봐서는  제 생각에는 1차 캐시에 변경이 없기 때문에 flush해도 쿼리가 안나가건가 싶습니다.

명확하게 와닿지 않아 질문드립니다.

감사합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요. 변지수님^^ 좋은 질문입니다.

JPA는 JPQL이 실행되기 직전에도 flush가 발생합니다.

벌크 연산도 JPQL로 작성되기 때문에 벌크연산 실행 직전에 flush가 이미 발생했습니다^^

감사합니다.