📝 학습 목표


  1. 즉시 로딩과 지연 로딩의 전략 차이에 대해 알아보고, 지연 로딩을 채택하는 이유에 대해 이해한다.
  2. JPQL과 QueryDSL의 차이에 대해 이해한다.

📸 잠깐 ! 스터디 인증샷은 찍으셨나요?📸


📑 6주차 주제

이번 주차는 저번 5주차의 연장선, 심화버전입니다‼️

오늘은 JPA의 영속성 컨텍스트의 개념, JPQL과 QueryDSL의 차이점, 그리고 QueryDSL이 가지는 유리함에 대해 알아볼 예정입니다.

Spring Data JPA 영속성 컨텍스트

🌟 영속성 컨텍스트(Persistence Context)란?

영속성 컨텍스트란, 데이터(엔티티 객체)를 영구적(persistent)으로 저장하는 일종의 메모리 공간입니다. ORM, 즉 객체와 RDB 데이터를 자동으로 매핑해주는 기능을 제공하는 JPA에서 아주 핵심적인 녀석이죠.

일종의 캐시 메모리라고 생각하시면 됩니다.

DB에 있는 데이터를 조회할 때, 굳이 직접 DB까지 가지 않아도 캐시 메모리에 있는 데이터라면 성능 향상을 위해 1차적으로 캐시에 데이터가 있는지 살피죠. 그리고 나서 miss가 일어나면, 그제서야 DB에 가서 데이터를 끌어옵니다.

영속성 컨텍스트도 마찬가지라고 생각하시면 돼요.

먼저 최초로 엔티티에 접근하면, DB에서 끌어온 엔티티를 영속성 컨텍스트에 등록해줍니다.