본문내용 바로가기

KYOBO 교보문고

금/토/일 주말특가
2020책점운세보기
광화문점 초등 독서릴레이
오작교캐시
  • 한국출판문화상 북콘서트
  • 북모닝 책강
  • 낭만서점 독서클럽 5기 회원 모집
자바 ORM 표준 JPA 프로그래밍(에이콘 오픈 소스 프로그래밍 시리즈)
* 중고장터 판매상품은 판매자가 직접 등록/판매하는 상품으로 판매자가 해당상품과 내용에 모든 책임을 집니다. 우측의 제품상태와 하단의 상품상세를 꼭 확인하신 후 구입해주시기 바랍니다.
| 규격外
ISBN-10 : 8960777331
ISBN-13 : 9788960777330
자바 ORM 표준 JPA 프로그래밍(에이콘 오픈 소스 프로그래밍 시리즈) 중고
저자 김영한 | 출판사 에이콘출판
정가
43,000원
판매가
30,000원 [30%↓, 13,000원 할인] 반품불가상품
배송비
2,600원 (판매자 직접배송)
지금 주문하시면 2일 이내 출고 가능합니다.
토/일, 공휴일을 제외한 영업일 기준으로 배송이 진행됩니다.
2015년 7월 28일 출간
제품상태
상태 상급 외형 중급 내형 중급
이 상품 최저가
38,690원 다른가격더보기
새 상품
38,700원 [10%↓, 4,300원 할인] 새상품 바로가기
안내 :

중고장터에 등록된 판매 상품과 제품의 상태는 개별 오픈마켓 판매자들이 등록, 판매하는 것으로 중개 시스템만을 제공하는
인터넷 교보문고에서는 해당 상품과 내용에 대해 일체 책임을 지지 않습니다.

교보문고 결제시스템을 이용하지 않은 직거래로 인한 피해 발생시, 교보문고는 일체의 책임을 지지 않습니다.

중고책 추천 (판매자 다른 상품)

더보기

판매자 상품 소개

※ 해당 상품은 교보문고에서 제공하는 정보를 활용하여 안내하는 상품으로제품 상태를 반드시 확인하신 후 구입하여주시기 바랍니다.

북스캔하고 다시 원상 복구하였습니다만, 겉면의 북마크(저자소개등이 있는 1/2 크기)는 잘렸습니다. 책 내부는 새거와 동일합니다.

저렴하게 팝니다.

판매자 배송 정책

  • 토/일, 공휴일을 제외한 영업일 기준으로 배송이 진행됩니다.

더보기

구매후기 목록
NO 구매후기 구매만족도 ID 등록일
1 상태도 너무 좋고 새책인줄 알았어요.. 5점 만점에 5점 smk*** 2019.12.19

이 책의 시리즈

책 소개

상품구성 목록
상품구성 목록

자바 ORM 표준 JPA는 SQL 작성 없이 객체를 데이터베이스에 직접 저장할 수 있게 도와주고, 객체와 관계형 데이터베이스의 차이도 중간에서 해결해준다. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다. 또한, 스프링 프레임워크와 JPA를 함께 사용하는 방법을 설명하고, 스프링 데이터 JPA, QueryDSL 같은 혁신적인 오픈 소스를 활용해서 자바 웹 애플리케이션을 효과적으로 개발하는 방법을 다룬다.
다음 링크에서 온라인 강의를 수강할 수 있다.
- 기본편: https://www.inflearn.com/course/ORM-JPA-Basic
- 활용편 1: https://www.inflearn.com/course/스프링부트-JPA-활용-1
- 활용편 2: 준비 중입니다.

저자소개

저자 : 김영한
저자 김영한은 SI에서 다양한 프로젝트를 수행하고, J2EE 강사와 다음 커뮤니케이션을 거쳐 현재 SK플래닛의 데이터 서비스 개발팀에서 근무하고 있다. 도메인 주도 설계에 관심이 많으며, 끊임없이 공부하고 더 나은 코드를 작성하는 개발자가 되려고 노력 중이다.

목차

1장. JPA 소개
1.1 SQL과 문제점
1.1.1 반복, 반복 그리고 반복
1.1.2 SQL에 의존적인 개발
1.1.3 JPA와 문제 해결
1.2 패러다임의 불일치
1.2.1 상속
1.2.2 연관관계
1.2.3 객체 그래프 탐색
1.2.4 비교
1.2.5 정리
1.3 JPA란 무엇일까?
1.3.1 JPA 소개
1.3.2 왜 JPA를 사용해야 하는가?
1.4 정리

2장. JPA 시작
2.1 이클립스 설치와 프로젝트 불러오기
2.2 H2 데이터베이스 설치
2.3 라이브러리와 프로젝트 구조
2.3.1 메이븐과 사용 라이브러리 관리
2.4 객체 매핑 시작
2.5 persistence.xml 설정
2.5.1 데이터베이스 방언
2.6 애플리케이션 개발
2.6.1 엔티티 매니저 설정
2.6.2 트랜잭션 관리
2.6.3 비즈니스 로직
2.6.4 JPQL
2.7 정리

3장. 영속성 관리
3.1 엔티티 매니저 팩토리와 엔티티 매니저
3.2 영속성 컨텍스트란?
3.3 엔티티의 생명주기
3.4 영속성 컨텍스트의 특징
3.4.1 엔티티 조회
3.4.2 엔티티 등록
3.4.3 엔티티 수정
3.4.4 엔티티 삭제
3.5 플러시
3.5.1 플러시 모드 옵션
3.6 준영속
3.6.1 엔티티를 준영속 상태로 전환: detach( )
3.6.2 영속성 컨텍스트 초기화: clear( )
3.6.3 영속성 컨텍스트 종료: close( )
3.6.4 준영속 상태의 특징
3.6.5 병합: merge( )
3.7 정리

4장. 엔티티 매핑
4.1 @Entity
4.2 @Table
4.3 다양한 매핑 사용
4.4 데이터베이스 스키마 자동 생성
4.5 DDL 생성 기능
4.6 기본 키 매핑
4.6.1 기본 키 직접 할당 전략
4.6.2 IDENTITY 전략
4.6.3 SEQUENCE 전략
4.6.4 TABLE 전략
4.6.5 AUTO 전략
4.6.6 기본 키 매핑 정리
4.7 필드와 컬럼 매핑: 레퍼런스
4.7.1 @Column
4.7.2 @Enumerated
4.7.3 @Temporal
4.7.4 @Lob
4.7.5 @Transient
4.7.6 @Access
4.8 정리

실전 예제 1. 요구사항 분석과 기본 매핑
__요구사항 분석
__도메인 모델 분석
__테이블 설계
__엔티티 설계와 매핑
__데이터 중심 설계의 문제점

5장. 연관관계 매핑 기초
5.1 단방향 연관관계
5.1.1 순수한 객체 연관관계
5.1.2 테이블 연관관계
5.1.3 객체 관계 매핑
5.1.4 @JoinColumn
5.1.5 @ManyToOne
5.2 연관관계 사용
5.2.1 저장
5.2.2 조회
5.2.3 수정
5.2.4 연관관계 제거
5.2.5 연관된 엔티티 삭제
5.3 양방향 연관관계
5.3.1 양방향 연관관계 매핑
5.3.2 일대다 컬렉션 조회
5.4 연관관계의 주인
5.4.1 양방향 매핑의 규칙: 연관관계의 주인
5.4.2 연관관계의 주인은 외래 키가 있는 곳
5.5 양방향 연관관계 저장
5.6 양방향 연관관계의 주의점
5.6.1 순수한 객체까지 고려한 양방향 연관관계
5.6.2 연관관계 편의 메소드
5.6.3 연관관계 편의 메소드 작성 시 주의사항
5.7 정리

실전 예제 2. 연관관계 매핑 시작
__일대다, 다대일 연관관계 매핑
__객체 그래프 탐색

6장. 다양한 연관관계 매핑
6.1 다대일
6.1.1 다대일 단방향 [N:1]
6.1.2 다대일 양방향 [N:1, 1:N]
6.2 일대다
6.2.1 일대다 단방향 [1:N]
6.2.2 일대다 양방향 [1:N, N:1]
6.3 일대일 [1:1]
6.3.1 주 테이블에 외래 키
6.3.2 대상 테이블에 외래 키
6.4 다대다 [N:N]
6.4.1 다대다: 단방향
6.4.2 다대다: 양방향
6.4.3 다대다: 매핑의 한계와 극복, 연결 엔티티 사용
6.4.4 다대다: 새로운 기본 키 사용
6.4.5 다대다 연관관계 정리
6.5 정리

실전 예제 3. 다양한 연관관계 매핑
__일대일 매핑
__다대다 매핑

7장. 고급 매핑
7.1 상속 관계 매핑
7.1.1 조인 전략
7.1.2 단일 테이블 전략
7.1.3 구현 클래스마다 테이블 전략
7.2 @MappedSuperclass
7.3 복합 키와 식별 관계 매핑
7.3.1 식별 관계 vs 비식별 관계
7.3.2 복합 키: 비식별 관계 매핑
7.3.3 복합 키: 식별 관계 매핑
7.3.4 비식별 관계로 구현
7.3.5 일대일 식별 관계
7.3.6 식별, 비식별 관계의 장단점
7.4 조인테이블
7.4.1 일대일 조인테이블
7.4.2 일대다 조인테이블
7.4.3 다대일 조인테이블
7.4.4 다대다 조인테이블
7.5 엔티티 하나에 여러 테이블 매핑
7.6 정리

실전 예제 4. 상속 관계 매핑
__상속 관계 매핑
__@MappedSuperclass 매핑

8장. 프록시와 연관관계 관리
8.1 프록시
8.1.1 프록시 기초
8.1.2 프록시와 식별자
8.1.3 프록시 확인
8.2 즉시 로딩과 지연 로딩
8.2.1 즉시 로딩
8.2.2 지연 로딩
8.2.3 즉시 로딩, 지연 로딩 정리
8.3 지연 로딩 활용
8.3.1 프록시와 컬렉션 래퍼
8.3.2 JPA 기본 페치 전략
8.3.3 컬렉션에 FetchType.EAGER 사용 시 주의점
8.4 영속성 전이 - CASCADE
8.4.1 영속성 전이: 저장
8.4.2 영속성 전이: 삭제
8.4.3 CASCADE의 종류
8.5 고아 객체
8.6 영속성 전이 + 고아 객체, 생명주기
8.7 정리

실전 예제 5. 연관관계 관리
__글로벌 페치 전략 설정
__영속성 전이 설정

9장. 값 타입
9.1 기본값 타입
9.2 임베디드 타입(복합 값 타입)
9.2.1 임베디드 타입과 테이블 매핑
9.2.2 임베디드 타입과 연관관계
9.2.3 @AttributeOverride: 속성 재정의
9.2.4 임베디드 타입과 null
9.3. 값 타입과 불변 객체
9.3.1 값 타입 공유 참조
9.3.2 값 타입 복사
9.3.3 불변 객체
9.4. 값 타입의 비교
9.5. 값 타입 컬렉션
9.5.1 값 타입 컬렉션 사용
9.5.2 값 타입 컬렉션의 제약사항
9.6 정리

실전 예제 6. 값 타입 매핑
__실전 예제 정리

10장. 객체지향 쿼리 언어
10.1 객체지향 쿼리 소개
10.1.1 JPQL 소개
10.1.2 Criteria 쿼리 소개
10.1.3 QueryDSL 소개
10.1.4 네이티브 SQL 소개
10.1.5 JDBC 직접 사용, 마이바티스 같은 SQL 매퍼 프레임워크 사용
10.2 JPQL
10.2.1 기본 문법과 쿼리 API
10.2.2 파라미터 바인딩
10.2.3 프로젝션
10.2.4 페이징 API
10.2.5 집합과 정렬
10.2.6 JPQL 조인
10.2.7 페치 조인
10.2.8 경로 표현식
10.2.9 서브 쿼리
10.2.10 조건식
10.2.11 다형성 쿼리
10.2.12 사용자 정의 함수 호출(JPA 2.1)
10.2.13 기타 정리
10.2.14 엔티티 직접 사용
10.2.15 Named 쿼리: 정적 쿼리
10.3 Criteria
10.3.1 Criteria 기초
10.3.2 Criteria 쿼리 생성
10.3.3 조회
10.3.4 집합
10.3.5 정렬
10.3.6 조인
10.3.7 서브 쿼리
10.3.8 IN 식
10.3.9 CASE 식
10.3.10 파라미터 정의
10.3.11 네이티브 함수 호출
10.3.12 동적 쿼리
10.3.13 함수 정리
10.3.14 Criteria 메타 모델 API
10.4 QueryDSL
10.4.1 QueryDSL 설정
10.4.2 시작
10.4.3 검색 조건 쿼리
10.4.4 결과 조회
10.4.5 페이징과 정렬
10.4.6 그룹
10.4.7 조인
10.4.8 서브 쿼리
10.4.9 프로젝션과 결과 반환
10.4.10 수정, 삭제 배치 쿼리
10.4.11 동적 쿼리
10.4.12 메소드 위임
10.4.13 QueryDSL 정리
10.5 네이티브 SQL
10.5.1 네이티브 SQL 사용
10.5.2 Named 네이티브 SQL
10.5.3 네이티브 SQL XML 에 정의
10.5.4 네이티브 SQL 정리
10.5.5 스토어드 프로시저(JPA 2.1)
10.6 객체지향 쿼리 심화
10.6.1 벌크 연산
10.6.2 영속성 컨텍스트와 JPQL
10.6.3 JPQL과 플러시 모드
10.7 정리

11장. 웹 애플리케이션 제작
11.1 프로젝트 환경설정
11.1.1 프로젝트 구조
11.1.2 메이븐과 사용 라이브러리 관리
11.1.3 스프링 프레임워크 설정
11.2 도메인 모델과 테이블 설계
11.2.1 요구사항 분석
11.2.2 도메인 모델 설계
11.2.3 테이블 설계
11.2.4 연관관계 정리
11.2.5 엔티티 클래스
11.3 애플리케이션 구현
11.3.1 개발 방법
11.3.2 회원 기능
11.3.3 상품 기능
11.3.4 주문 기능
11.3.5 웹 계층 구현
11.4 정리

12장. 스프링 데이터 JPA
12.1 스프링 데이터 JPA 소개
12.1.1 스프링 데이터 프로젝트
12.2 스프링 데이터 JPA 설정
12.3 공통 인터페이스 기능
12.4 쿼리 메소드 기능
12.4.1 메소드 이름으로 쿼리 생성
12.4.2 JPA NamedQuery
12.4.3 @Query, 리파지토리 메소드에 쿼리 정의
12.4.4 파라미터 바인딩
12.4.5 벌크성 수정 쿼리
12.4.6 반환 타입
12.4.7 페이징과 정렬
12.4.8 힌트
12.4.9 Lock
12.5 Specifications(명세)
12.6 사용자 정의 리파지토리 구현
12.7 Web 확장
12.7.1 설정
12.7.2 도메인 클래스 컨버터 기능
12.7.3 페이징과 정렬 기능
12.8 스프링 데이터 JPA가 사용하는 구현체
12.9 JPA 샵에 적용
12.9.1 환경 설정
12.9.2 리파지토리 리팩토링
12.9.3 명세 적용
12.10 스프링 데이터 JPA와 QueryDSL 통합
12.10.1 QueryDslPredicateExecutor 사용
12.10.3 QueryDslRepositorySupport 사용
12.11 정리

13장. 웹 애플리케이션과 영속성 관리
13.1 트랜잭션 범위의 영속성 컨텍스트
13.1.1 스프링 컨테이너의 기본 전략
13.2 준영속 상태와 지연 로딩
13.2.1 글로벌 페치 전략 수정
13.2.2 JPQL 페치 조인
13.2.3 강제로 초기화
13.2.4 FACADE 계층 추가
13.2.5 준영속 상태와 지연 로딩의 문제점
13.3 OSIV
13.3.1 과거 OSIV: 요청 당 트랜잭션
13.3.2 스프링 OSIV: 비즈니스 계층 트랜잭션
13.3.3 OSIV 정리
13.4 너무 엄격한 계층
13.5 정리

14장. 컬렉션과 부가 기능
14.1 컬렉션
14.1.1 JPA와 컬렉션
14.1.2 Collection, List
14.1.3 Set
14.1.4 List + @OrderColumn
14.1.5 @OrderBy
14.2 @Converter
14.2.1 글로벌 설정
14.3 리스너
14.3.1 이벤트 종류
14.3.2 이벤트 적용 위치
14.4 엔티티 그래프
14.4.1 Named 엔티티 그래프
14.4.2 em.find( )에서 엔티티 그래프 사용
14.4.3 subgraph
14.4.4 JPQL에서 엔티티 그래프 사용
14.4.5 동적 엔티티 그래프
14.4.6 엔티티 그래프 정리
14.5 정리

15장. 고급 주제와 성능 최적화
15.1 예외 처리
15.1.1 JPA 표준 예외 정리
15.1.2 스프링 프레임워크의 JPA 예외 변환
15.1.3 스프링 프레임워크에 JPA 예외 변환기 적용
15.1.4 트랜잭션 롤백 시 주의사항
15.2 엔티티 비교
15.2.1 영속성 컨텍스트가 같을 때 엔티티 비교
15.2.2 영속성 컨텍스트가 다를 때 엔티티 비교
15.3 프록시 심화 주제
15.3.1 영속성 컨텍스트와 프록시
15.3.2 프록시 타입 비교
15.3.3 프록시 동등성 비교
15.3.4 상속관계와 프록시
15.4 성능 최적화
15.4.1 N+1 문제
15.4.2 읽기 전용 쿼리의 성능 최적화
15.4.3 배치 처리
15.4.4 SQL 쿼리 힌트 사용
15.4.5 트랜잭션을 지원하는 쓰기 지연과 성능 최적화
15.5 정리

16장. 트랜잭션과 락, 2차 캐시
16.1 트랜잭션과 락
16.1.1 트랜잭션과 격리 수준
16.1.2 낙관적 락과 비관적 락 기초
16.1.3 @Version
16.1.4 JPA 락 사용
16.1.5 JPA 낙관적 락
16.1.6 JPA 비관적 락
16.1.7 비관적 락과 타임아웃
16.2 2차 캐시
16.2.1 1차 캐시와 2차 캐시
16.2.2 JPA 2차 캐시 기능
16.2.3 하이버네이트와 EHCACHE 적용
16.3 정리

책 속으로

출판사 서평

★ 이 책에서 다루는 내용 ★ ■ JPA 기초 이론과 핵심 원리 ■ JPA로 도메인 모델을 설계하는 과정을 예제 중심으로 설명 ■ 다양한 객체 지향 쿼리 언어 설명 ■ JPA와 스프링 프레임워크를 함께 사용해서 웹 애플리케이션을 개발하는 방...

[출판사서평 더 보기]

★ 이 책에서 다루는 내용 ★

■ JPA 기초 이론과 핵심 원리
■ JPA로 도메인 모델을 설계하는 과정을 예제 중심으로 설명
■ 다양한 객체 지향 쿼리 언어 설명
■ JPA와 스프링 프레임워크를 함께 사용해서 웹 애플리케이션을 개발하는 방법
■ 스프링 데이터 JPA, QueryDSL 소개 및 활용
■ 실무에서 JPA를 사용할 때 성능을 최적화하는 다양한 방법

★ 이 책의 대상 독자 ★

이 책은 JPA를 사용해서 엔터프라이즈 애플리케이션을 개발하려는 모든 자바 개발자를 대상으로 한다. 이 책의 내용을 이해하려면 자바 언어와 JDBC를 사용한 데이터베이스 프로그래밍, 그리고 객체지향 프로그래밍과 관계형 데이터베이스에 대해 어느 정도 알고 있어야 한다. 추가로 3부는 웹 개발과 스프링 프레임워크에 대한 기초 지식이 필요하며 JUnit을 다룰 수 있어야 한다. 그리고 예제 코드를 실행하려면 메이븐에 대해서도 약간의 지식이 필요하다.

★ 이 책의 구성 ★

JPA는 크게 객체와 테이블을 어떻게 매핑해야 하는지에 관한 설계 부분과 설계한 모델을 실제 사용하는 부분으로 나눌 수 있다. 책의 앞부분에서는 기초 이론과 설계 방법을 학습하고 뒷부분에서는 학습한 이론을 바탕으로 JPA를 활용해서 실제 웹 애플리케이션을 개발한다.

이 책은 크게 네 부분으로 나뉘어 있다.

1장에서 9장은 이론 편이다. 객체와 테이블을 매핑하는 방법과 JPA의 핵심 기능들을 알아본다. 4장부터 9장까지는 각 장의 마지막에 점진적으로 도메인 모델을 설계해 나가는 실전 예제가 있어서 학습한 내용을 실제로 적용해볼 수 있게 했다.
10장은 객체지향 쿼리 언어에 대한 내용이다. JPA가 제공하는 객체지향 쿼리 언어인 JPQL(Java Persistence Query Language)부터 직접 SQL을 작성하는 네이티브 SQL까지 알아본다.
11장과 12장은 실무에서 JPA를 사용하기 위한 활용편이다. 스프링 프레임워크와 JPA를 사용해서 어떻게 웹 애플리케이션을 개발하는지 학습하고 스프링 데이터 JPA와 QueryDSL이라는 혁신적인 오픈소스도 사용해본다.
13장에서 16장은 트랜잭션과 락, 캐시, 성능 최적화 등 JPA의 다양한 고급 주제들을 다룬다.

[출판사서평 더 보기 닫기]

책 속 한 문장

회원리뷰

교환/반품안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품안내
반품/교환방법

[판매자 페이지>취소/반품관리>반품요청] 접수
또는 [1:1상담>반품/교환/환불], 고객센터 (1544-1900)

※ 중고도서의 경우 재고가 한정되어 있으므로 교환이 불가할 수 있으며, 해당 상품의 경우 상품에 대한 책임은 판매자에게 있으며 교환/반품 접수 전에 반드시 판매자와 사전 협의를 하여주시기 바랍니다.

반품/교환가능 기간

변심반품의 경우 수령 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

※ 중고도서의 경우 판매자와 사전의 협의하여주신 후 교환/반품 접수가 가능합니다.

반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유

소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우(단지 확인을 위한 포장 훼손은 제외)

소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 화장품, 식품, 가전제품 등

복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)

디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우

시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품이므로 단순 변심 및 착오로 인한 취소/교환/반품 시 해외주문 반품/취소 수수료 고객 부담 (해외주문 반품/취소 수수료는 판매정가의 20%를 적용

2) 중고도서 : 반품/교환접수없이 반송하거나 우편으로 접수되어 상품 확인이 어려운 경우

소비자 피해보상
환불지연에 따른 배상

- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

판매자
스반
판매등급
새싹셀러
판매자구분
일반
구매만족도
5점 만점에 5점
평균 출고일 안내
1일 이내
품절 통보율 안내
0%

바로가기

최근 본 상품