JPA 퀵스타트
도서명:JPA 퀵스타트
저자/출판사:채규태/루비페이퍼
쪽수:708쪽
출판일:2020-09-01
ISBN:9791186710586
목차
CHAPTER_01 실습 환경 구축 및 데이터베이스 기술 변화
SECTION 01 실습 환경 구축
_1 JDK 설치하기
__1.1 줄루 다운로드 및 설치
__1.2 JDK PATH 설정
_2 이클립스 설치하기
__2.1 다운로드 및 설치
__2.2 이클립스 환경 설정 및 실행
__2.3 프로젝트 생성
__2.4 프로젝트 설정 변경
_3 H2 데이터베이스 설치하기
__3.1 H2 데이터베이스 다운로드 및 설치
__3.2 SQL 파일 생성 및 SQL 테스트
SECTION 02* 데이터베이스 연동 기술의 변화
_1 JDBC API 사용하기
__1.1 라이브러리 다운로드
__1.2 VO 클래스 작성
__1.3 DAO 클래스 작성
__1.4 클라이언트 프로그램 작성
_2 롬복 적용하기
__2.1 롬복 다운로드 및 설치하기
__2.2 롬복 적용하기
_3 마이바티스 프레임워크 사용하기
__3.1 라이브러리 다운로드
__3.2 VO 클래스 작성
__3.3 SQL Mapper 작성
__3.4 마이바티스 메인 설정파일 작성
__3.5 DAO 클래스 작성
__3.6 클라이언트 프로그램 작성
_4 하이버네이트 프레임워크 사용하기
__4.1 라이브러리 의존성 추가
__4.2 VO 클래스 작성
__4.3 하이버네이트 메인 설정파일 작성
__4.4 DAO 클래스 작성
__4.5 클라이언트 작성
__4.6 테이블 구조 변경
CHAPTER_02 JPA 퀵스타트 및 JPA 설정
SECTION 01 JPA 퀵스타트
_1 JPA 퀵스타트
__1.1 JPA 프로젝트 생성 및 설정 변경
__1.2 JPA 관련 라이브러리 추가
__1.3 엔티티 클래스 작성 및 테이블 매핑
__1.4 JPA 메인 설정파일 작성
__1.5 JPA로 데이터 저장하기
__1.6 데이터 누적하기
_2 JPA 메인 설정파일
__2.1 영속성 설정파일
__2.2 엔티티 클래스 등록
__2.3 데이터 소스 설정
__2.4 Dialect 클래스 설정
__2.5 SQL 관련 설정
_3 엔티티 매핑 설정하기
__3.1 @Entity와 @Id 어노테이션
__3.2 @Table 어노테이션
__3.3 @Column 어노테이션
__3.4 @Temporal 어노테이션
__3.5 @Transient 어노테이션
__3.6 @Access 어노테이션
SECTION 02* 식별자 값 자동 생성
_1 아이덴티티 전략 사용하기
__1.1 아이덴티티 전략 적용
__1.2 클라이언트 작성
__1.3 아이덴티티의 동작 원리
_2 시퀀스 전략 사용하기
__2.1 시퀀스 전략 적용
__2.2 allocationSize 속성으로 성능 최적화하기
_3 테이블 전략 사용하기
__3.1 테이블 전략 적용
__3.2 클라이언트 실행 및 결과 분석
_4 자동 전략 사용하기
__4.1 자동 전략 적용
_5 복합 키 사용하기
__5.1 식별자 클래스 작성 및 적용
__5.2 클라이언트 수정 및 실행
__5.3 복합 키 검색하기
CHAPTER_03 영속 컨텍스트와 엔티티 관리
SECTION 01 영속 컨텍스트와 엔티티 관리
_1 영속 컨텍스트
__1.1 프로젝트 생성 및 설정 변경
__1.2 영속 컨테이너와 엔티티 상태
__1.3 생성 상태
__1.4 관리 상태
__1.5 분리 상태
__1.6 삭제 상태
__1.7 영속 컨테이너와 EntityManager 메소드 정리
_2 영속 컨테이너와 엔티티 캐시
__2.1 등록과 엔티티 캐시
__2.2 플러시 모드 설정
__2.3 트랜잭션 커밋과 플러시
__2.4 검색과 캐시
_3 엔티티 수정
__3.1 더티 체크와 UPDATE
__3.2 분리 상태와 merge 메소드
__3.3 merge와 saveOrUpdate
__3.4 엔티티 갱신
_4 엔티티 검색
__4.1 find와 getReference 메소드 차이
__4.2 목록 검색과 JPQL
CHAPTER_04 다대일 연관관계 매핑
SECTION 01 연관관계 매핑
_1 연관관계 매핑 기초
__1.1 프로젝트 생성 및 설정 변경
__1.2 JDBC 기반의 연관관계 매핑 처리
__1.3 연관관계 매핑 기준
_2 다대일 단방향 매핑
__2.1 엔티티 클래스 작성 및 연관관계 매핑 설정
__2.2 연관관계를 이용한 데이터 등록
__2.3 연관관계를 이용한 데이터 검색
__2.4 외부 조인을 내부 조인으로 변경하기
__2.5 페치 설정 변경하기
__2.6 연관관계 수정
__2.7 연관 엔티티 삭제
_3 다대일 양방향 매핑
__3.1 양방향 연관관계 매핑 설정
__3.2 양방향 연관관계 매핑 검색
__3.3 일대다 연관관계 매핑과 컬렉션
_4 연관관계 소유자
__4.1 소유자 지정하기
__4.2 양방향 연관관계 매핑을 이용한 등록 처리
__4.3 객체 상태에서의 양방향 설정
SECTION 02 영속성 전이
_1 영속성 전이
__1.1 영속성 전이 이해
__1.2 영속성 전이를 이용한 삭제
__1.3 고아 제거 속성 사용하기
__1.4 null을 이용한 관계 끊기
?
CHAPTER_05 다양한 연관관계 매핑
SECTION 01* 일대일 연관관계 매핑
_1 일대일 단방향 매핑
__1.1 프로젝트 생성 및 설정 변경
__1.2 일대일 단방향 매핑 설정
__1.3 클라이언트 작성
__1.4 외부 조인을 내부 조인으로 변경하기
__1.5 페치 전략 변경하기
_2 일대일 양방향 매핑
__2.1 양방향 연관관계 매핑 설정
__2.2 클라이언트 작성 및 실행
__2.3 순수한 객체로서의 양방향 참조
__2.4 순환참조 문제 해결
__2.5 반대 방향으로의 연관관계 매핑
_3 부모 키를 공유하는 일대일 매핑
__3.1 엔티티 매핑 설정
__3.2 양방향 매핑 설정
SECTION 02* 다대다 연관관계 매핑
_1 다대다 매핑 기준
__1.1 연결 클래스를 만든다 vs 만들지 않는다
__1.2 식별관계 vs 비식별관계
_2 연결 클래스를 사용하지 않는 다대다 매핑
__2.1 엔티티 클래스 작성하기
__2.2 클라이언트 작성
__2.3 양방향 매핑하기
_3 연결 클래스를 사용하는 다대다 매핑
__3.1 연결 클래스 작성
__3.2 클라이언트 작성
CHAPTER_06 JPQL
SECTION 01* JPQL 기본
_1 JPQL 기초
__1.1 JPQL 기본 구조
__1.2 JPQL 기초
__1.3 JPQL 사용 시 주의사항
__1.4 NEW 연산자 사용하여 조회 결과 매핑하기
__1.5 파라미터 바인딩
__1.6 상세 조회와 엔티티 캐시
_2 조인, 그룹핑, 정렬
__2.1 조인이 동작하지 않는 상황
__2.2 묵시적 조인과 명시적 조인
__2.3 외부 조인
__2.4 세타 조인
__2.5 조인 페치
__2.6 GROUP BY, HAVING절 사용하기
__2.7 정렬
__2.8 페이징 처리
__2.9 서브 쿼리 사용하기
_3 연산자와 함수 사용하기
__3.1 연산자 사용하기
__3.2 함수 사용하기
_4 다양한 쿼리 사용하기
__4.1 이름이 부여된 쿼리 사용하기
__4.2 네이티브 쿼리 사용하기
__4.3 이름이 부여된 네이티브 쿼리 사용하기
__4.4 수정 및 삭제 쿼리
CHAPTER_07 크라이테리어를 이용한 동적 쿼리
SECTION 01 크라이테리어를 이용한 동적 쿼리
_1 크라이테리어 API 사용
__1.1 JPQL만을 이용하여 검색
__1.2 크라이테리어 적용
__1.3 크라이테리어 구조
__1.4 특정 변수만 선택 조회하기
_2 크라이테리어 조인
__2.1 묵시적 조인
__2.2 명시적 조인
__2.3 페치 조인
_3 크라이테리어 연산자
__3.1 연산자 사용하기
__3.2 여러 조건 결합하기
__3.3 그룹핑
__3.4 정렬
__3.5 서브 쿼리 사용하기
__3.6 동적 쿼리 작성
_4 함수
__4.1 문자형 함수 사용하기
__4.2 숫자형 함수 사용하기
__4.3 날짜형 함수 사용하기
__4.4 컬렉션 함수 사용하기
CHAPTER_08 스프링 JPA 연동
SECTION 01 스프링과 JPA 연동
_1 비즈니스 컴포넌트 만들기(by Spring)
__1.1 프로젝트 생성 및 설정 파일 복사
__1.2 엔티티 클래스 수정
__1.3 스프링 라이브러리 추가
__1.4 스프링 빈 설정파일 작성
__1.5 리포지터리 클래스 작성
__1.6 서비스 클래스 작성
_2 클라이언트 작성 및 테스트하기
__2.1 등록 기능 클라이언트
__2.2 트랜잭션 설정 추가
__2.3 조회 기능 테스트
__2.4 컬렉션 프록시 초기화
__2.5 영속성 유닛 설정 통합하기
__2.6 스프링 설정을 어노테이션 기반으로 변경하기
SECTION 02 스프링 데이터 JPA
_1 스프링 데이터 JPA
__1.1 스프링 데이터 JPA란?
__1.2 라이브러리 추가
__1.3 리포지터리 인터페이스 작성
__1.4 서비스 클래스 작성
__1.5 스프링 설정 클래스 수정
_2 쿼리 메소드 사용하기
__2.1 쿼리 메소드 기본
__2.2 쿼리 메소드 적용
__2.3 쿼리 메소드 유형
__2.4 여러 조건 사용하기
__2.5 데이터 정렬하기
__2.6 페이징 처리
__2.7 정렬 처리
__2.8 검색 결과를 Page 타입으로 리턴받기
_3 @Query 사용하기
__3.1 JPQL 사용하기
__3.2 특정 변수만 조회하기
__3.3 네이티브 쿼리 사용하기
__3.4 페이징 및 정렬 처리하기
CHAPTER_09 웹 애플리케이션
SECTION 01 웹 애플리케이션 프로젝트 생성
_1 서버 설치 및 웹 프로젝트 작성
__1.1 서버 설치 및 이클립스 연동
__1.2 웹 프로젝트 생성 및 설정 변경
__1.3 웹 애플리케이션 실행
_2 웹 프로젝트 설정
__2.1 라이브러리 추가
__2.2 로그 설정
SECTION 02 비즈니스 레이어 개발
_1 엔티티 클래스 작성 및 연관관계 설정
__1.1 쇼핑몰 기능 및 ERD
__1.2 회원(Customer) 클래스 작성
__1.3 XML 설정파일 및 클라이언트 작성
__1.4 주문(Order) 클래스 작성
__1.5 상품(Product) 클래스 작성
__1.6 주문 내역(Item) 클래스 작성
_2 비즈니스 컴포넌트 개발
__2.1 회원(Customer) 컴포넌트
__2.2 상품(Product) 컴포넌트
__2.3 주문(Order) 컴포넌트
_3 스프링 설정 및 웹 연동
__3.1 스프링 설정파일 작성(비즈니스 레이어)
__3.2 스프링 비즈니스 레이어와 웹 애플리케이션 연동
SECTION 03 프레젠테이션 레이어 개발
_1 프레젠테이션 레이어 설정
__1.1 스프링 설정파일 작성(프레젠테이션 레이어)
__1.2 스프링 프레젠테이션 레이어와 서블릿 연동
__1.3 웹 애플리케이션 컨텍스트 경로 변경
_2 인덱스 화면 구현
__2.1 인덱스 페이지 작성
__2.2 인덱스 컨트롤러 작성
__2.3 공통 파일 작성
_3 회원 관리 구현
__3.1 회원 가입 기능
__3.2 회원 목록 검색 기능
__3.3 hibernate.hbm2ddl.auto 설정 변경
_4 상품 관리 구현
__4.1 상품 등록 기능 구현
__4.2 상품 목록 기능
__4.3 상품 수정 기능
_5 주문 관리 구현
__5.1 주문 화면으로 이동
__5.2 주문 처리
__5.3 주문 목록 검색 기능