-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
플러시에 대한 정리
22.04.02 15:55 작성 조회수 181
1
안녕하세요. 맨 마지막에 플러시 정리해주실 때 설명이 헷갈려서 질문드립니다.
플러시는 트랜잭션 단위로 동작하기 때문에 '커밋 직전'에만 변경 내역을 DB에 날려주면 된다고 하셨는데요,
앞서 배운 그림 자료는
commit() 호출 -> flush() 호출 -> 쿼리가 날아감
인 것 같은데 커밋 직전에 변경 내역을 날린다는 게 무슨 의미인지 궁금합니다.
답변을 작성해보세요.
0
min102
2022.07.30
저도 이 부분을 잘 이해 못했는데 도움이 되었습니다!
- 애플리케이션 내부 flush = entityManager.flush()
라고 인지 됩니다!
그리고 질문자께서 말씀하신대로
- entityManager.commint() > entityManager.flush()(auto)
- 이때 entityManager.flush()(1번)를 하게되면, 쿼리 생성 > 쓰기 지연 SQL 저장소에 쿼리 등록 > DB에 쿼리 전송(이 과정이 DB flush(4번) + DB commit(5번) 이라고 인지됩니다)
제가 이해한 바가 맞나요?
답변 2