IT/JPA

· IT/JPA
영속성 컨텍스트란?JPA에서 영속성 컨텍스트는 엔티티 객체를 영속 상태(Persistent State)로 유지하고, 데이터베이스와 동기화를 담당한다. 이를 통해 데이터베이스 작업을 효율적으로 처리하고, 개발자가 직접 SQL을 작성하지 않아도 된다. 영속성 컨텍스트의 주요 역할엔티티 관리: 엔티티의 생명주기를 관리한다. (비영속, 영속, 준영속, 삭제)변경 감지: 엔티티 객체의 상태 변경을 감지하고, 필요한 경우 데이터베이스에 자동으로 반영한다.캐싱: 동일한 엔티티를 여러 번 조회해도 동일한 인스턴스를 반환하여, 성능을 최적화한다.트랜잭션과의 연계: 트랜잭션 범위 내에서만 유효하며, 트랜잭션 종료 시 데이터를 플러시(Flush)하여 데이터베이스와 동기화한다. 영속성 컨텍스트의 동작 원리  JPA는 Enti..
· IT/JPA
Spring JPA에서 즉시 로딩(Eager Loading)과 지연 로딩(Lazy Loading)란?  Spring JPA에서 데이터베이스를 조회할 때, 연관된 엔티티를 가져오는 방식에는 즉시 로딩(Eager Loading)과 지연 로딩(Lazy Loading)이라는 두 가지 전략이 있다. 이러한 로딩 전략은 데이터베이스 쿼리 효율성과 애플리케이션 성능에 큰 영향을 미치기 때문에 매우 중요하다. 1. 즉시 로딩 (Eager Loading)  즉시 로딩은 연관된 모든 엔티티를 한 번에 조회하는 방식이다. 부모 엔티티를 조회할 때, 연관된 자식 엔티티도 함께 로드되어 메모리에 적재된다.예를 들어, A 엔티티가 B 엔티티와 연관되어 있다면, A를 조회할 때 B 엔티티도 즉시 로드된다. 이렇게 하면 데이터베이스..
· IT/JPA
JPA에서 더티 체킹(Dirty Checking)이란?  JPA의 더티 체킹(Dirty Checking)은 영속성 컨텍스트가 관리하는 엔티티의 상태를 자동으로 감지하고, 변경된 부분이 있다면 트랜잭션 커밋 시점에 데이터베이스에 반영하는 기능입니다. 이는 개발자가 직접 SQL을 작성하지 않아도 JPA가 엔티티의 변경을 감지하고 처리할 수 있도록 돕는다. 영속성 컨텍스트와 더티 체킹  JPA에서 엔티티는 영속성 컨텍스트에 의해 관리된다. 영속성 컨텍스트는 데이터베이스와 관련된 엔티티 객체의 상태를 관리하는 일종의 캐시(1차 캐시)라고 할 수 있다. 엔티티가 영속성 컨텍스트에 등록되면 영속 상태가 되고, 이때 영속 상태의 엔티티는 데이터베이스에 저장된 값과 연결되며, JPA가 그 상태를 추적한다. 더티 체킹의..
justdo2t
'IT/JPA' 카테고리의 글 목록