해결된 질문
작성
·
167
0
벌크연산 후 em.flush(); em.clear();를 하라는 얘기를 듣다가 갑자기 동작순서에 대해 생각해보게 됐습니다.
em.findOne(Long id)로
id = 1, name = "member1"이라는 데이터를 조회하고
"member1"이라는 name을 "회원"로 수정 후,
id = 1인 데이터의 name을
"비회원"으로 벌크연산으로 하면(하나만 수정한다고 억지성 가정)
Querydsl은 JPQL로 이루어져있으니까
JPQL은 실행 전에 자동으로 em.flush()를 실행하게 되어있으니
벌크연산(Querydsl)이 실행이 되는 순간,
em.flush()가 되어 "회원"으로 먼저 수정이 되고
벌크연산 쿼리로 "비회원"으로 바꿔지는 거 맞나요?
맞는 것 같긴 한데
주변에 확인차 물어볼 사람이 없어서
질문드립니다 :[
매번 감사합니다 .