JPA 심화

PRESENT_22·2022년 12월 20일
0

Spring Data JPA가 없으면?

먼저 우리가 Spring Data JPA라이브러리를 활용한 방식이다.

~Repository.~ 하면 쉽게 할수있던걸

엔티티 메니저를 생성하고
https://devbksheen.tistory.com/185 참조


엔티티 매니저 팩토리 > 앤티티 매니저 만들고
엔티티 -> 영속화 저장 함


요약 하나의 정보 -> 매니저 공장 ->매니저 생성-> 1정보 1매니저

영속성 컨텍스트란?

엔티티를 영구 저장 하는 환경 , 앤티티 매너저가 어떤 정보를 담을수 있는 주머니
영속화 한다 = 앤티티 매니저가 자기 주머니안에 넣었다.

JPA 엔티티의 상태


비영속= 알빠노?

영속 = 엔티티가 저장 O, 관리 O

준영속= 관리 되다가 분리된 상태 전 여친느낌

삭제 = 삭제

영속성 컨텍스트는의 이점

1차 캐시가 있음


데이터 베이스 에서 찾기 -> 비용이 큼

https://www.youtube.com/watch?v=XlL0eq9Phws 참조

쓰기 지연 SQL저장소


마찬가지로 쓸 때 마다 database 방문 -> 비용 증가
->모아서 한번에 (commit 명령을 통해) 보내기

DirtyChecking


JPA가 조회한 시점에 스냅샷을 찍어 현재 상태와 비교

https://velog.io/@jiny/JPA-%EB%8D%94%ED%8B%B0-%EC%B2%B4%ED%82%B9Dirty-Checking-%EC%9D%B4%EB%9E%80
https://interconnection.tistory.com/121 참조

데이터의 어플리케이션 단의 동일성 보장


이건 잘 모르겠음.

0개의 댓글