EntityManager 2

Spring - PersistRepository

안녕하세요. 오늘은 리포지토리(Repository)를 하나로 통합해서 사용하지 않고, PersistRepository를 따로 생성해서 사용하는 이유에 대해 알아볼까 해요. 리포지토리를 따로 만드는 이유? 우리가 흔히 보는 방식은 보통 이렇게 설정할 거예요.public interface BoardRepository extends JpaRepository {} 이건 CRUD를 전부 한 곳에 몰아넣는 방식이에요. PersistRepository는 역할을 분리하는 구조예요.BoardPersistRepository // 저장 전용BoardQueryRepository // 조회 전용 (보통 따로 만듦) 분리하는 이유? 분리하는 이유는 "저장하는 코드"와 "조회하는 코드"의 성격이 다르기 때문이에요.그..

Backend/Java 2026.01.06

영속성 컨텍스트 (Persistence Context)

안녕하세요. 오늘은 영속성 컨텍스트에 대해 알아볼게요. 영속성 컨텍스트(Persistence Context) 영속성 컨텍스트는 JPA(Java Persistence API)를 공부할 때 가장 핵심이 되는 개념으로 “엔티티를 1차 캐시에 저장해 두고, 동일 트랜잭션 안에서 엔티티를 관리하는 JPA의 내부 저장소” 라고 생각하시면 되요. 영속성 컨텍스트는 엔티티를 저장하는 1차 캐시 에요. EntityManager는 엔티티를 DB에 바로 저장하지 않고, 먼저 영속성 컨텍스트라는 메모리 공간(1차 캐시)에 저장해요.Member member = new Member(1L, "userA");em.persist(member); // DB에 INSERT X -> 1차 캐시에 저장됨 ※ 영속성 컨텍스트는..

Backend/Java 2025.12.14