티스토리 뷰
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();
'dev > spring JPA 활용 웹만들기' 카테고리의 다른 글
JPA 의 EntityManager 이용한 저장,업데이트,삭제,조회 (1) | 2024.01.29 |
---|---|
jpa 구동방식 (0) | 2024.01.29 |
merge와 변경감지의 차이점과 주의점 (0) | 2024.01.18 |
model을 뿌릴 때에 주의점 (0) | 2024.01.13 |
thymleaf @valid , bindingResult 오류처리 (0) | 2024.01.09 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 스프링공부
- react실행
- 향해99
- JPA
- 백엔드 개발자 역량
- 예외처리
- 향해플러스백엔드
- BindingResult
- React
- 항해99
- HTTP
- reject
- 인터셉터
- filter
- 리터럴
- rejectValue
- Java
- 향해플러스
- 백엔드 개발자 공부
- ArgumentResolver
- SpringBoot
- hypertexttransferprotocol
- 스프링부트
- thymleaf
- 컨트
- 로그인
- exception
- Intercepter
- 항해플러스
- jpa api
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함