작성
·
67
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
jpql 구문이 실행될 때 flush가 자동으로 호출 된다고 하셨는데 당연히 flush로 쓰기 지연 SQL 저장소에 있는 쿼리들을 데이터베이스에 반영하고 commit 한 후 jpql 구문이 실행되는거겠죠?
답변 1
0
안녕하세요. ljwicdi님, 공식 서포터즈 y2gcoder입니다.
기본적으로 쓰기지연 SQL 저장소에 있는 쿼리들은 flush 할 때 데이터베이스에 날라간다고 보셔야 합니다 🙂 다만 트랜잭션이 커밋되기 전이기 때문에, DB에 바로 반영되지 않고, DB 커넥션에 있는 DB 세션에 먼저 반영됩니다. 그래서 같은 트랜잭션 내에서 반영된 결과를 불러올 수 있습니다. 이 적용 내역은 트랜잭션 커밋 시에 비로소 DB에 반영되어 다른 커넥션에서도 반영된 결과를 받을 수 있게 됩니다!
좀 더 자세한 내용은 영한님의 스프링 DB 1편 - 데이터 접근 핵심 원리 을 학습해보시길 권해드립니다 🙂
감사합니다.