티스토리 뷰

 

String memberId = 100;
Member member1 = jpa.find(Member.class,memberId); //sql
Member member2 = jpa.find(Member.class,memberId); //캐시

member1 == member2 (같은 인스턴스로본다)

 

Jpa에서 중요한 점은 같은 트랜잭션 안에서 조회를 2번 해도 같은 객체로 본다.

 

같은 트랜잭션 안에서 처음 객체를 조회하면 jpa가 들고있다가 2번째로 부르는 경우 그것을 반환해 준다.

 

 

쓰기지연 (버퍼라이팅)

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

em.persist(member1);
em.persist(member2);
em.persist(member3);
// 여기까지 sql insert를 보내지 않는다.

// 커밋하는 순간 sql insert를 한번에 보낸다.
transaction.commit();

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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 31
글 보관함