JPA 퀵스타트
이 책은 자바 기반의 데이터베이스 연동 기술의 변화를 개념으로만 설명하는 것에 그치지 않고, 하나의 예제를 JDBC, 마이바티스, 하이버네이트로 모두 구현해봄으로써 각 기술의 장단점은 물론 ORM이 등장하게 된 배경을 몸소 체득하는 것으로 시작한다. 데이터베이스 관점에서 바라보면 난해하게 느껴지는 JPA를 객체지향 관점으로 이해할 수 있도록 JPA의 개념과 클래스와 테이블 매핑 예제를 단계별로 실습할 수 있도록 구성했다. 이러한 이해를 바탕으로 JPQL, 네이티브 쿼리, 크라이테리어 등을 학습하며, 스프링과 JPA 연동하는 방법을 알아보며 끝으로 스프링 MVC 모듈과 JPA를 활용해 간단한 쇼핑 시스템을 만들어본다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
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 주문 목록 검색 기능
저자
저자
그리고
항상 마음과 생각이 늙지 않는 개발자이기를 꿈꾸며 희망한다.
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

