Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 유레카
- docker
- jQuery
- gitlab
- EUREKA
- IntelliJ
- Spring
- OAuth
- 스프링 클라우드
- 코딩테스트
- 자바
- spring boot
- 스프링
- date
- GIT
- 비동기
- JS
- SpringBoot
- map()
- STS
- spring security
- 스프링부트
- Java
- leetcode
- map
- 도커
- JavaScript
- 프로그래머스
- Spring Cloud
- 자바스크립트
Archives
- Today
- Total
RATSENO
[JPA]플러시 (flush) 본문
플러시(flush())는 영속성 컨텍스트의 변경 내용을 데이터베이스에 반영합니다.
1. 변경 감지가 동작해서 (엔티티 수정 시) 영속성 컨텍스트에 있는 모든 엔티티를 스냅샷과 비교해서 수정된 엔티티를 찾습니다.
수정된 엔티티는 수정 쿼리를 만들어 쓰기 지연 SQL 저장소에 등록합니다.
2. 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송합니다.(등록, 수정, 삭제 쿼리)
영속성 컨텍스트를 플러시하는 방법은 3가지 입니다.
1. em.flush()를 직접 호출한다.
2.트랜잭션 커밋 시 플러시가 자동 호출된다.
3.JPQL 쿼리 실행시 플러시가 자동 호출된다.
유의사항) 플러시라는 이름으로 인해 영속성 컨텍스트에 보관된 엔티티를 지우는 것으로 생각하면 안됩니다.
영속성 컨텍스트의 변경 내용을 데이터베이스테 동기화하는 것이 플러시 입니다.
참고 및 출처
도서 : 자바 ORM 표준 JPA 프로그래밍 - 저자 : 김영한 님
강의 : 자바 ORM 표준 JPA 프로그래밍 (기본편) - 강사 : 김영한 님
'DEV > JPA' 카테고리의 다른 글
[JPA]영속성 콘텍스트(persistence context) (0) | 2020.08.03 |
---|
Comments