영속성 컨텍스트(Persistence Context)는 JPA에서 엔티티(Entity)를 관리하고 데이터베이스와의 상호작용을 담당하는 핵심 기능입니다.
1차 캐시(First-Level Cache) : 영속성 컨텍스트는 엔티티를 캐싱하여 애플리케이션에서 엔티티에 접근할 때 데이터베이스에 대한 조회를 최소화합니다.
동일한 엔티티에 대한 반복적인 조회를 피하고 성능을 향상시킵니다.
지연 로딩(Lazy Loading) : 영속성 컨텍스트는 연관된 엔티티를 필요한 시점에 로딩할 수 있도록 지원합니다. 필요한 연관 엔티티만 로딩하여 성능을 최적화할 수 있습니다.
변경 감지(Dirty Checking) : 영속성 컨텍스트는 엔티티의 변경 상태를 추적하여 변경된 부분만 데이터베이스에 자동으로 동기화합니다. 개발자는 엔티티의 변경 상태를 일일이 추적하거나 업데이트 쿼리를 작성할 필요가 없어집니다.
트랜잭션 범위 관리 : 영속성 컨텍스트는 트랜잭션 범위 내에서 엔티티의 변경을 관리합니다. 트랜잭션이 커밋되기 전까지 엔티티의 변경은 영속성 컨텍스트에서만 유효하며, 롤백 시 변경 내용도 롤백됩니다.
이런 좋은 글을 작성해주셔서 감사합니다.