JPA 프로그래밍 입문
Java Presistence API
JPA(Java Persistence API)를 시작하려는 개발자를 위한 입문서 『JPA 프로그래밍 입문』. 엔티티, 밸류에 대한 기본 매핑부터 콜렉션 매핑까지 핵심 설정 설명하고 쿼리 방식 조회(JPQL), 코드 방식 쿼리(크리테리아), 네이티브 쿼리를 이용한 데이터 조회 방법, 스프링과 스프링 Data JPA 연동 소개를 담고 있다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
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 커넥션 설정
색인
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

