본문 바로가기

JPA

(2)
1차 캐시와 2차 캐시 1. 캐시를 사용하는 이유 애플리케이션 서버 내부 메모리에 접근하는 시간보다 네트워크를 통해 데이터베이스에 접근하는 시간 비용은 수만에서 수십만 배 이상 비싸다. 그래서 조회한 데이터를 내부 메모리에 캐시 하면 서버의 성능을 획기적으로 올릴 수 있다. 2. 1차 캐시 1) 1차 캐시란? 영속성 컨텍스트 내부에 엔티티를 보관하는 저장소를 1차 캐시라고 함. 2) 특징 트랜잭션을 시작하고 종료할 때까지만 1차 캐시가 유효. 클라이언트 요청 후 응답하기 전까지 1차 캐시가 유효. 3) 단점 scope가 너무 작다. 즉, 애플리케이션 전체 범위가 아니므로, 성능을 획기적으로 향상하지는 못 함. 4) 내부 동작 영속성 컨텍스트 내부 저장소에 보관되어 있음. 클라이언트 요청을 받고 트랜잭션을 시작할 때 영속성 컨텍..
JPA - 19.01 정리한 내용 spring data JPA 특징 1. 관계 맵핑 2. 엔티티 상태와 cascade 옵션 Study entity의 상태가 A에서 B로 변할 때 Account entity의 상태도 A에서 B로 변하게 하고 싶다면 cascade = CascadeType.ALL 옵션을 줘야 한다. 여기서 상태란 transient, persistent, detached, removed 3. entity의 status 변화 save(영속화)를 먼저 하고 나중에 값을 변경해도 된다. 마지막 트랜잭션 커밋하는 시점에 디비에 데이터가 가므로 presistent와 detached 상태 전환 효과를 누리려면, 그 객체 값을 먼저 save(영속화)를 시켜줘야 한다. detached 상태에서 persistent 상..