JPA - 플러시

JWbase·2024년 1월 8일
0

JPA

목록 보기
2/3
post-thumbnail
post-custom-banner

플러시

  • 영속성 컨텍스트의 변경내용을 데이터베이스에 반영

플러시 발생시 생기는 일

  • 변경 감지
  • 수정된 엔티티 쓰기 지연 SQL 저장소에 등록
  • 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송

영속성 컨텍스트를 플러시 하는 방법

  • em.flush() - 직접 호출
            Member member = new Member(200L, "member200");
            em.persist(member);
            em.flush();
            //트랜잭션을 커밋하지 않아도 query가 실행된다.
  • transaction commit - 플러시 자동 호출
  • JPQL 쿼리 실행 - 플러시 자동 호출

조심해야 할 부분

  • flush는 영속성 컨텍스트를 비우지는 않는다.
  • 영속성 컨텍스트의 변경내용을 데이터베이스에 동기화 한다.
  • 트랜잭션이라는 작업 단위가 있기 때문에 commit직전에만 db를 동기화하면 되기 때문에 flush가 가능
profile
기억 저장소!!
post-custom-banner

0개의 댓글