본문 바로가기
Spring/JPA

영속성 컨텍스트 - 쓰기 지연

by YoonJong 2022. 9. 20.
728x90

영속성 컨텍스트에서는 쓰기 지연 이라는 트랜잭션을 지원한다.

 

em.persist 를 통해 영속성 컨텍스트로 들어가면 바로 DB 에 SQL 문을 날리는 것이 아닌,

쓰기 지연 SQL 저장소로 들어가게 된다.

 

이후, commit 을 하거나 flush 를 실행하면 DB 에 Insert 쿼리문이 넘어가게 되어 DB 에 저장되게 된다.

 

 

tx.begin(); // 트랜잭션 시작

Member memberA = new Member(111L, "memberA");
Member memberB = new Member(112L, "memberB");

em.persist(memberA);
em.persist(memberB);
// 여기까지 DB 에 Insert SQL 을 보내지 않는다.

tx.commit(); // 커밋해야 SQL을 보낸다.

작성된 쿼리문

728x90

댓글