반응형
지난 포스팅에서 잠깐 등장 했던 Flush 를 간략하게 정리하고자 합니다.
https://itkevin.tistory.com/22
Flush 는 JPA 매커니즘에서 중요한 역할을 하고 있는데, 바로 동기화 입니다.
논리적인 개념인 영속성 컨텍스트를 비우지 않고 변경 내용을 데이터베이스에 동기화 해주는 아주아주 훌륭한 친구입니다.
영속성 컨텍스트를 플러시 하는 방법은
1. EntityManager를 통해 flush()를 직접 호출 하거나
2. 트랜젝션이 커밋 될때 자동호출 되거나
3. JPQL 쿼리가 실행될때도 자동호출 됩니다
(Flush 는 영속성 컨텍스트과 관련된 친구이기 때문에 당연히 EntityManager 와 관련이 깊습니다!)
Flush Mode 옵션
1. FlushModeType.AUTO (Default) : 기본 값으로 commit 이나 쿼리를 실행할 때 Flush
2. FlushModeType.COMMIT : commit 할 때 Flush
가 있습니다.
Reference
https://www.inflearn.com/course/ORM-JPA-Basic/
반응형
'Spring > JPA' 카테고리의 다른 글
[JPA] 영속성(Persistence) JPA에서 가장 중요한 2가지 中 첫 번째 (feat. Flush) (0) | 2021.10.17 |
---|---|
[JPA] JPQL (Java Persistence Query Language) 객체 지향 쿼리 (1) | 2021.10.12 |
[JPA] 패러다임의 불일치 와 해결책 (feat. JPA) (2) | 2021.10.07 |