강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

binni0515님의 프로필 이미지
binni0515

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

변경 감지와 병합(merge)

영속성 컨텍스트에 대해.

해결된 질문

작성

·

245

0

순서가 플러시를 먼저 하고 커밋을 하는 건가요?

플러시 할 때 영속성 컨텍스트를 비우지 않는다는데 SQL 저장소는 쿼리가 나가면서 비워지는 것 아닌가요?

답변 1

0

안녕하세요, binni0515 님. 공식 서포터즈 y2gcoder 입니다.
image(출처 - 영한님의 JPA 기본편 pdf 중 3. 영속성 관리, p.21 )

위의 내용을 보시면 flush 하면서 쓰기 지연 SQL 저장소에 있던 SQL들을 날리고, 그 후에 DB에 commit 을 하는 것을 알 수 있습니다.
커밋 요청을 하면 먼저 플러시가 발생하고 그 후에 커밋을 해준다고 생각하시면 될 것 같습니다!


JPA 강의

감사합니다.

binni0515님의 프로필 이미지
binni0515
질문자

답변감사합니다! flush=SQL저장소의 SQL을 날리는 것

이라고 이해해도 될까요? 그리고 이때 SQL을 날릴 때 DB에 반영이 되는 것인지, 이후 DB에 commit 할 때 비로소 DB에 반영이 되는 것인지 궁금합니다. ( em.flush() 만 호출 했을 때 DB에 반영이 되는 것인지. )

commit 후에 반영됩니다 :)

binni0515님의 프로필 이미지
binni0515

작성한 질문수

질문하기