닫기
전체카테고리
  • -->
    국내도서
    국내도서
  • -->
    베스트셀러
    베스트셀러
  • -->
    새로나온도서
    새로나온도서
  • -->
    추천도서
    추천도서
  • -->
    할인/재정가 도서
    할인/재정가 도서
  • -->
    GIFT
    GIFT
자바 ORM 표준 JPA 프로그래밍 (마스크제공) 이미지 확대 보기
  • 자바 ORM 표준 JPA 프로그래밍 (마스크제공)
  • 자바 ORM 표준 JPA 프로그래밍 (마스크제공)

자바 ORM 표준 JPA 프로그래밍 (마스크제공)

공유
정가
43,000
판매가
38,700
배송비
무료 지역별추가배송비
택배
방문 수령지 : 서울특별시 영등포구 양산로 57-5 (양평동 이노플렉스) B101
자체상품코드
9788960777330
제조사
에이콘출판
출시일
2015-07-28
구매혜택
할인 : 적립 적립금 :
짧은설명
자바 ORM 표준 JPA 프로그래밍
자바 ORM 표준 JPA 프로그래밍 (마스크제공)
0
총 상품금액
총 할인금액
총 합계금액

상품상세정보

21615d286a4b23fc9ded08f4bbbe3a95_192355.jpg
 


책소개

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

목차

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, QueryDSL 소개 및 활용
■ 실무에서 JPA를 사용할 때 성능을 최적화하는 다양한 방법
★ 이 책의 대상 독자 ★
이 책은 JPA를 사용해서 엔터프라이즈 애플리케이션을 개발하려는 모든 자바 개발자를 대상으로 한다. 이 책의 내용을 이해하...
더보기

상품필수 정보

도서명 자바 ORM 표준 JPA 프로그래밍
저자/출판사 김영한 / 에이콘출판
크기/전자책용량 상세설명참조 / 상세설명참조
쪽수 상세설명참조
제품 구성 상세설명참조
출간일 2015-07-28
목차 또는 책소개 상품상세참조

관련 상품

배송안내

- 배송비 : 기본 배송료는 2,000원입니다. (도서,산간,오지 일부 지역은 배송비가 추가될 수 있습니다)  10,000원 이상 구매 시 무료배송입니다.

- 본 상품의 평균 배송일은 2일입니다.(입금 확인 후) 설치 상품의 경우 다소 늦어질 수 있습니다.[배송 예정일은 주문 시점(주문 순서)에 따른 유동성이 발생하므로 평균 배송일과는 차이가 발생할 수 있습니다.]

- 본 상품의 배송 가능일은 7일입니다. 배송 가능일이란 본 상품을 주문하신 고객님들께 상품 배송이 가능한 기간을 의미합니다. (단, 연휴 및 공휴일은 기간 계산 시 제외하며 현금 주문일 경우 입금일 기준입니다.)

교환 및 반품안내

- 상품 택(tag)제거 또는 개봉으로 상품 가치 훼손 시에는 상품수령후 7일 이내라도 교환 및 반품이 불가능합니다.

- 저단가 상품, 일부 특가 상품은 고객 변심에 의한 교환, 반품은 고객께서 배송비를 부담하셔야 합니다(제품의 하자,배송오류는 제외)

- 일부 상품은 신모델 출시, 부품가격 변동 등 제조사 사정으로 가격이 변동될 수 있습니다.

- 신발의 경우, 실외에서 착화하였거나 사용흔적이 있는 경우에는 교환/반품 기간내라도 교환 및 반품이 불가능 합니다.

- 수제화 중 개별 주문제작상품(굽높이,발볼,사이즈 변경)의 경우에는 제작완료, 인수 후에는 교환/반품기간내라도 교환 및 반품이 불가능 합니다. 

- 수입,명품 제품의 경우, 제품 및 본 상품의 박스 훼손, 분실 등으로 인한 상품 가치 훼손 시 교환 및 반품이 불가능 하오니, 양해 바랍니다.

- 일부 특가 상품의 경우, 인수 후에는 제품 하자나 오배송의 경우를 제외한 고객님의 단순변심에 의한 교환, 반품이 불가능할 수 있사오니, 각 상품의 상품상세정보를 꼭 참조하십시오. 

환불안내

- 상품 청약철회 가능기간은 상품 수령일로 부터 7일 이내 입니다.

AS안내

- 소비자분쟁해결 기준(공정거래위원회 고시)에 따라 피해를 보상받을 수 있습니다.

- A/S는 판매자에게 문의하시기 바랍니다.

이미지 확대보기자바 ORM 표준 JPA 프로그래밍 (마스크제공)

자바 ORM 표준 JPA 프로그래밍 (마스크제공)
  • 자바 ORM 표준 JPA 프로그래밍 (마스크제공)
닫기

비밀번호 인증

글 작성시 설정한 비밀번호를 입력해 주세요.

닫기

장바구니 담기

상품이 장바구니에 담겼습니다.
바로 확인하시겠습니까?

찜 리스트 담기

상품이 찜 리스트에 담겼습니다.
바로 확인하시겠습니까?

  • 장바구니
  • 최근본상품
  • 위로
  • 아래로

최근 본 상품

  • 자바 ORM 표준 JPA 프로그래밍 (마스크제공)
    자바 ORM 표준 JPA 프로그래밍 (마...
    43,000 38,700
0/2
마이홈
고객센터

02-835-6872평일 오전 10:00 ~ 오후 06:00
점심 오후 12:30 ~ 오후 01:30
휴무 토/일/공휴일