공통 인터페이스 기능 김영한님의 실전! 스프링 데이터 JPA 강의를 기반으로 순수 JPA 구현 시 발생하는 반복적인 CRUD 코드를 스프링 데이터 JPA의 JpaRepository 공통 인터페이스를 통해 어떻게 자동화하고 재사용할 수 있는지, 그 내부 원리와 계층 구조를 정리함 순수 JPA 기반 리포지토리 회원 리포지토리 @Repos...
[실전! 스프링 데이터 JPA] 예제 도메인 모델
예제 도메인 모델 김영한님의 실전! 스프링 데이터 JPA 강의를 기반으로 실습에 사용될 핵심 예제인 Member와 Team 엔티티의 양방향 연관관계와 동작 로직, 그리고 지연 로딩을 통한 쿼리 실행 흐름을 정리함 도메인 모델 구조 연관관계 규칙 Member.team이 연관관계의 주인으로, DB 외래키(t...
[실전! 스프링 데이터 JPA] 프로젝트 환경설정
프로젝트 환경설정 김영한님의 실전! 스프링 데이터 JPA 강의를 기반으로 프로젝트 기본 환경설정, 라이브러리 추가, H2 데이터베이스 연동, 그리고 순수 JPA와 스프링 데이터 JPA의 기본 동작 및 차이점 등을 정리함 프로젝트 생성 build.gradle plugins { id 'org.springframework.boot'...
[실전! 스프링 부트와 JPA 활용2] 다음으로 - 스프링 데이터 JPA와 QueryDSL
다음으로 - 스프링 데이터 JPA와 QueryDSL 김영한님의 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 강의를 기반으로 순수 JPA 리포지토리의 반복 코드를 자동화하는 스프링 데이터 JPA와, 동적 쿼리를 자바 코드로 안전하게 작성할 수 있는 QueryDSL의 개념과 적용 방법을 정리함 전체 개요 순수 J...
[실전! 스프링 부트와 JPA 활용2] API 개발 고급 - 실무 필수 최적화
API 개발 고급 - OSIV와 성능 최적화 김영한님의 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 강의를 기반으로 OSIV(Open Session In View) 전략의 동작 원리와 ON/OFF에 따른 영속성 컨텍스트 및 DB 커넥션 관리 방식의 차이를 정리하고, OSIV OFF 시 커맨드와 쿼리 분리 패턴을 통한 최적화...
[실전! 스프링 부트와 JPA 활용2] API 개발 고급 - 컬렉션 조회 최적화
API 개발 고급 - 컬렉션 조회 최적화 김영한님의 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 강의를 기반으로 Order 기준으로 OrderItem과 Item(일대다 관계) 컬렉션을 함께 조회하는 API를 6단계 버전으로 발전시키며, 컬렉션 조회 시 발생하는 성능 문제를 단계적으로 해결하는 과정을 정리함 전체 구조...
[실전! 스프링 부트와 JPA 활용2] API 개발 고급 - 지연 로딩과 조회 성능 최적화
API 개발 고급 - 지연 로딩과 조회 성능 최적화 김영한님의 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 강의를 기반으로 주문 + 배송정보 + 회원을 조회하는 API를 4단계 버전으로 발전시키며, 지연 로딩으로 인한 성능 문제를 단계적으로 해결하는 과정을 정리함 전체 구조 개요 V1에서 V4까지 단계적으...
[실전! 스프링 부트와 JPA 활용2] API 개발 고급 - 준비
API 개발 고급 - 준비 김영한님의 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 강의를 기반으로 조회 API 성능 최적화 실습을 위한 샘플 데이터 초기화 구조와 설계 포인트를 정리함 전체 구조 개요 API 개발 고급 단계에서는 실제 조회 API의 성능 문제(N+1 문제 등)를 다루기 위해, 먼저 테스트에 사...
[실전! 스프링 부트와 JPA 활용2] API 개발 기본
API 개발 기본 김영한님의 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 강의를 기반으로 회원 API의 등록, 수정, 조회 기능을 엔티티 직접 사용 방식과 DTO 사용 방식으로 비교하며, API 개발의 표준적인 접근 방식을 정리함 API 전체 구조 MemberApiController가 회원 등록, 수정, ...
[실전! 스프링 부트와 JPA 활용1] 웹 계층 개발
웹 계층 개발 김영한님의 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 강의를 기반으로 홈 화면, 회원 관리, 상품 관리, 주문 관리 등 웹 계층 전반의 개발 과정과 변경 감지 및 병합 메커니즘을 정리함 홈 화면과 레이아웃 홈 컨트롤러 등록 @Controller @Slf4j public class HomeControll...