해결된 질문
작성
·
327
2
12분 쯤
벌크연산에서 flush()를 날린 뒤에 벌크연산을 수행하니 db에는 41살, 영속성 컨텍스트에는 40살인 채로 남고
그 상태에서 명시적으로 em.flush()를 날리면 db에 40살이 찍히리라 예상 했는데...
flush()할 때 단순히 DB와 동기화하는 게 아니라 변경 감지를 통해 쓰기 지연된 부분만 내보내는 것으로 이해했는데 비슷한가요?
답변 1
6
안녕하세요. 현도님
엔티티에 직접적인 변경내용이 있어야 flush() 시점에 변경 감지의 대상이되어서, 변경된 내용을 반영합니다.
그런데 벌크 연산은 엔티티에 영향을 주지 않아서 이런 결과가 나옵니다.
감사합니다.
감사합니다^^