← 도서 목록
목차
- 책 정보
- JPA
- 서문
- 1장 : JPA 소개
- 1. JPA란 무엇인가?
- 2. JPA의 필요성
- 3. JPA와 Hibernate 비교
- 4. JPA 아키텍처
- 5. JPA 어노테이션 개요
- 2장 : 기본 JPA 개념
- 1. 엔티티와 EntityManager
- 2. 영속성 컨텍스트
- 3. 영속성 단위
- 4. 엔티티 생명주기
- 5. 기본 키 및 식별자
- 6. 엔티티 관계
- 7. JPQL (Java Persistence Query Language)
- 8. 트랜잭션
- 3장 : 매핑 기법
- 1. 엔티티 매핑
- 2. 테이블 매핑
- 3. 기본 키 매핑
- 4. 관계 매핑 (일대일, 일대다, 다대일, 다대다)
- 5. 임베디드 객체 매핑
- 6. 상속 매핑
- 7. 컬렉션 매핑
- 8. 열거형 매핑
- 9. 일시적 필드
- 4장 : JPA의 관계
- 1. 일대일
- 2. 일대다
- 3. 다대일
- 4. 다대다
- 5. 양방향과 단방향 관계
- 6. 캐스케이드 타입
- 7. 패치 타입
- 8. 조인 테이블과 조인 컬럼
- 5장 : JPQL 및 쿼리
- 1. JPQL 문법 및 의미
- 2. 명명된 쿼리
- 3. 동적 쿼리
- 4. 쿼리 매개변수 (이름 기반 및 위치 기반)
- 5. 페이지네이션 및 결과 제한
- 6. 집계 함수 (COUNT, SUM, AVG 등)
- 7. 정렬 및 순서 지정
- 8. JPQL에서의 조인 (INNER, LEFT 등)
- 9. 서브쿼리
- 10. 네이티브 쿼리와 JPQL 쿼리
- 11. Criteria API를 이용한 쿼리
- 12. 엔티티 또는 DTO 반환 쿼리
- 13. 프로젝션 (부분 엔티티 선택)
- 14. 페치 조인
- 15. 쿼리 힌트
- 6장 : 트랜잭션 및 동시성
- 1. 트랜잭션 관리
- 2. EntityManager와 트랜잭션
- 3. 프로그래밍 방식과 선언적 트랜잭션
- 4. 낙관적 잠금
- 5. 비관적 잠금
- 6. 격리 수준
- 7. 동시성 제어를 위한 버저닝
- 8. 트랜잭션 전파
- 9. 롤백 및 세이브포인트
- 7장 : 성능 및 튜닝
- 1. 패칭 전략 (즉시 로딩 vs 지연 로딩)
- 2. 배치 처리
- 3. 쿼리 최적화 (JPQL/Criteria)
- 4. 캐싱 (1차 및 2차 캐시)
- 5. 커넥션 풀링
- 6. 엔티티 그래프
- 7. N+1 선택 문제
- 8. 더티 체킹 및 플러시 모드
- 9. 페이지네이션 및 제한
- 10. 모니터링 및 프로파일링
- 8장 : 고급 기능
- 1. 캐싱
- 2. 잠금 및 동시성
- 3. 패칭 전략
- 4. 감사(Auditing)
- 5. Criteria API
- 6. JPQL (Java Persistence Query Language)
- 7. 이벤트 및 리스너
- 8. 생명주기 콜백
- 9장 : 통합 및 모범 사례
- 1. Spring 프레임워크와 통합
- 2. 의존성 주입과 JPA 사용
- 3. 엔티티 설계 모범 사례
- 4. 트랜잭션 관리 모범 사례
- 5. 성능 튜닝 및 최적화
- 6. 예외 처리 전략
- 7. JPA에서의 감사 및 로깅
- 8. 데이터베이스 버전 관리 및 마이그레이션
- 9. JPA 애플리케이션 테스트
- 10. 코드 및 스키마 생성 모범 사례
- 10장 : 추가 학습 자료
- 1. 공식 문서
- 2. 서적
- 3. 온라인 강의
- 4. 커뮤니티 및 포럼
- 5. 샘플 프로젝트 및 튜토리얼
- 부록
- 소스 다운로드