JPA 프로그래밍 입문
도서명:JPA 프로그래밍 입문
저자/출판사:최범균/가메
쪽수:441쪽
출판일:2017-05-31
ISBN:9788980782901
목차
Part 01 기초
Chpater 01 들어가며
1 모델과 테이블간 매핑
2 JPA란
3 대상 독자
4 소스 코드 안내
Chpater 02 JPA 시작하기
1 예제 프로젝트
2 메이븐 프로젝트 생성 및 이클립스 임포트
3 데이터베이스 생성
4 모델 클래스와 매핑 설정
5 JPA 설정
6 영속 컨텍스트와 영속 객체 개요
7 간단한 예제 실행
8 EntityManagerFactory 관련 보조 클래스
9 콘솔을 사용한 사용자 관리
Chpater 03 엔티티
1 엔티티 클래스
2 접근 타입 : 영속 대상 필드와 프로퍼티
3 엔티티 클래스의 제약조건
4 엔티티 목록 설정
5 EntityManager의 엔티티 관련 기본기능
6 식별자 생성 방식
Chpater 04 밸류와 @Embeddable
1 밸류로 의미를 더 드러내기
2 밸류 클래스의 구현
3 @Embeddable 애노테이션과 @Embedded 애노테이션을 이용한 밸류 매핑
4 @Entity와@Embeddable의 라이프사이클
5 @AttributeOverrides를 이용한 매핑 설정 재정의
6 @Embeddable 중첩
7 다른 테이블에 밸류 저장하기
8 @Embeddable과 복합키
Chpater 05 EntityManager, 영속 컨텍스트, 트랜잭션
1 EntityManager와 영속 컨텍스트
2 EntityManager의 종류
3 트랜잭션 타입
4 EntityManager의 영속 컨텍스트 전파
Chpater 06 영속 객체의 라이프사이클
1 영속 객체의 라이프사이클 개요
2 EntityManager#persist()와 관리 상태 객체
3 EntityManager#find()와 관리 상태 객체
4 분리 상태 객체
5 EntityManager#merge()로 분리 상태를 관리 상태로 바꾸기
6 삭제 상태 객체
PART 02 연관 매핑
Chpater 07 엔티티 간 1:1 연관 그리고 즉시 로딩과 지연 로딩
1 키를 참조하는 1:1 연관 매핑
2 참조키를 이용한 1:1 단방향 연관
3 1:1 연관의 즉시 로딩과 지연 로딩
4 참조키를 이용한 1:1 양방향 연관
5 주요키를 공유하는 1:1 연관 매핑
6 주요키를 공유하는 1:1 단방향 연관
7 주요키를 공유하는 1:1 양방향 연관
8 1:1 연관 끊기
9 자동 생성키와 1:1 연관 저장
10 지연 로딩, 프록시, EntityManager 범위
Chpater 08 엔티티 간 N:1 단방향 연관
1 엔티티의 N:1 연관
2 참조키를 이용한 N:1 연관 설정
3 N:1의 연관 엔티티 로딩
4 특정 엔티티와 N:1 연관을 맺은 엔티티 목록 구하기
5 호텔과 최신 리뷰 조회하는 기능 만들기
Chpater 09 값의 콜렉션 매핑
1 값 콜렉션
2 단순 값 List 매핑
3 밸류 객체 List 매핑
4 List 요소와 null
5 단순 값 Set 매핑
6 밸류 객체 Set 매핑
7 단순 값 Map 매핑
8 밸류 객체 Map 매핑
9 콜렉션 타입별 구현 클래스
10 조회할 때 정렬 Set과 정렬 Map 사용하기
Chpater 10 엔티티 콜렉션 매핑
1 엔티티 콜렉션 매핑과 연관 관리
2 1:N 단방향 엔티티 Set 매핑
3 1:N 양방향 Set 매핑
4 조인 테이블을 이용한 1:N 단방향 엔티티 List 매핑
5 조인 테이블을 이용한 1:N 단방향 엔티티 Map 매핑
6 M:N 단방향 연관
7 M:N 양방향 연관
Chpater 11 영속성 전이
1 영속성 전이
2 영속성 전이 주의사항
Chpater 12 연관 잘 쓰기
1 연관의 복잡성
2 연관 범위 한정과 식별자를 통한 간접 참조
3 상태 변경 관련 기능과 조회 관련 기능
4 식별자를 공유하는 1:1 연관이 엔티티와 밸류 관계인지 확인
5 엔티티 콜렉션 연관과 주의사항
PART 03 쿼리
Chpater 13 JPQL
1 JPQL
2 JPQL 기본 코드
3 검색 조건 지정
4 페이징 처리
5 지정 속성 조회
6 한 개행 조회
7 조인
8 집합함수
9 group by와 having
10 함수와 연산자
11 네임드 쿼리
12 N+1 쿼리와 조회 전략
Chpater 14 크리테리아 API를 이용한 쿼리
1 크리테리아 API
2 크리테리아 기본 코드
3 검색 조건 지정
4 속성 경로 구하기
5 CriteriaQuery와 CriteriaBuilder 구분
6 Expression과 하위타입
7 비교연산자
8 정렬 순서 지정하기
9 지정 칼럼 조회
10 조인
11 집합함수
12 group by와 having
13 함수와 연산자
14 fetch조인
15 정적 메타모델
Chpater 15 추가 쿼리 기능
1 수정 쿼리와 삭제 쿼리
2 네이티브 쿼리
3 하이버네이트 @Subselect
PART 04 스프링 연동 및 기타 기능
Chpater 16 스프링 연동 기초
1 스프링과 JPA 연동 설정 기초
Chpater 17 스프링 데이터JPA 소개
1 중복 코드
2 스프링 데이터 JPA 소개
3 스프링 데이터 JPA 설정
4 리포지토리 인터페이스 메서드 작성규칙
5 Specification을 이용한 검색 조건 조합
6 스프링 데이터가 제공하는 인터페이스 상속 받기
Chpater 18 기타 매핑 설정
1 상속 매핑
2 AttributeConverter를 이용한 속성 변환
3 @MappedSuperclass와 매핑 설정 공유
Chpater 19 JPA 잠금 기법
1 동시 접근과 잠금
2 선점 잠금(pessimisticlock)
3 비선점 잠금(optimisticlock)
부록A 정적 메타모델 생성
부록 B 커넥션 설정
색인