Published on2025년 6월 25일@OnDelete와 JPA Cascade 선택 기준 정리상품 삭제 시 옵션까지 함께 삭제해야 하는 요구사항에서 Hibernate @OnDelete와 JPA Cascade를 비교하며 영속성 컨텍스트 일관성을 기준으로 선택한 기록입니다.JPAHibernateCascadeDatabaseBackend
Published on2025년 6월 20일순환 참조 문제와 @Lazy 적용의 한계선물하기 API 구현 중 ProductService와 OptionService가 서로 참조하며 발생한 순환 참조 문제를 @Lazy로 덮지 않고 의존 방향과 책임 분리 관점에서 다시 본 기록입니다.SpringDependency-InjectionArchitectureBackend
Published on2025년 6월 18일Pageable 입력 검증: PageRequestDto 설계Spring Pageable을 그대로 노출했을 때 정렬 기준과 페이지 크기 계약이 느슨해지는 문제를 PageRequestDto로 통제한 기록입니다.SpringPaginationValidationAPI-Design
Published on2025년 6월 15일JPA Page의 숨겨진 비용: count 쿼리목록 조회 API를 만들며 Page가 자동으로 수행하는 count 쿼리 비용을 확인하고, Page와 Slice를 어떤 기준으로 선택할지 정리한 기록입니다.JPAPaginationSpring-DataPerformance
Published on2025년 6월 10일JPA N+1 문제: 원인 분석부터 해결까지선물하기 API에서 연관 데이터를 조회하며 발생할 수 있는 JPA N+1 문제를 Fetch Join, EntityGraph, Batch Size 관점에서 비교한 기록입니다.JPAHibernateSpringPerformance
Published on2025년 5월 28일REST API DELETE 요청에서 Body 사용을 지양한 이유선물하기 API를 설계하면서 DELETE 요청에 데이터를 Body로 넘길지, Query Parameter나 Path Variable로 표현할지 검토한 기록입니다.REST-APIHTTPAPI-DesignBackend