배우고, 기록하고, 성장합니다 | GitHub

$ls -la ./tags/JPA

#JPA

7 posts
2026.02.27

JPA N+1 문제 해결과 쿼리 최적화

JPA에서 자주 발생하는 N+1 문제의 원인과 해결 방법을 정리합니다. Fetch Join, EntityGraph, BatchSize를 활용한 최적화 전략을 알아봅니다.

2026.02.25

JPA 엔티티 매핑 - 연관관계 설정과 영속성 컨텍스트

JPA의 엔티티 매핑과 연관관계 설정 방법을 정리합니다. 영속성 컨텍스트의 동작 원리를 이해합니다.

QueryDSL로 복잡한 동적 검색 쿼리 설계하기

상태, 카테고리, 날짜 범위, 도메인을 조합하는 복잡한 동적 검색 요구사항을 QueryDSL로 해결하고, 소프트 딜리트와 인덱스 설계까지 고민한 경험을 공유합니다.

2025.06.09

BaseAuditing 계층 설계: Soft Delete부터 MemberContext까지

BaseEntity를 복사해 쓰다가 동기화 실패, MemberContext clear() 누락으로 메모리 누수까지 겪은 뒤 공통 모듈로 추출한 이야기

Reader/Writer 패턴으로 가볍게 시작하는 CQRS

공고 목록 3초 로딩과 151개 쿼리를 겪고, Repository를 Reader/Writer로 분리해 200ms까지 줄인 이야기

Domain Model과 JPA Entity를 분리한 이유

OrderEntity에 비즈니스 로직을 넣었다가 테스트가 지옥이 되어, 도메인 모델을 따로 빼게 된 이야기

2024.11.04

Value Object 3가지 구현법: Record vs Embeddable vs 커스텀 검증

모든 VO를 Record로 통일하려다 JPA와 충돌하고, 검증 규칙 변경이 기존 데이터를 깨뜨린 뒤 3가지 방식을 공존시킨 이야기