{"product_id":"139563","title":"자바 ORM 표준 JPA 프로그래밍","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jXPBvfryxRkeRvfK9IW5v0wkpHM9t.png?v=1765075376\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\u003ccenter\u003e\n\u003cdiv style=\"width:95%\"\u003e\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e자바 ORM 표준 JPA 프로그래밍\u003c\/div\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/19040233\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003eDescription\u003c\/div\u003e\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e책소개\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003ctable\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd\u003e \u003cdiv\u003e \u003cdiv\u003e  자바 ORM 표준 JPA는 SQL 작성 없이 객체를 데이터베이스에 직접 저장할 수 있게 도와주고, 객체와 관계형 데이터베이스의 차이도 중간에서 해결해준다.\u003cbr\u003e이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다.\u003cbr\u003e또한, 스프링 프레임워크와 JPA를 함께 사용하는 방법을 설명하고, 스프링 데이터 JPA, QueryDSL 같은 혁신적인 오픈 소스를 활용해서 자바 웹 애플리케이션을 효과적으로 개발하는 방법을 다룬다.\u003cbr\u003e\n\u003c\/div\u003e \u003c\/div\u003e \u003c\/td\u003e \u003c\/tr\u003e \u003c\/tbody\u003e \u003c\/table\u003e \u003cdiv\u003e \u003cul\u003e \u003cli\u003e 책의 일부 내용을 미리 읽어보실 수 있습니다.\u003cbr\u003e\u003cspan\u003e미리보기\u003c\/span\u003e\n\u003c\/li\u003e \u003c\/ul\u003e \u003c\/div\u003e \u003c\/div\u003e \u003cbr\u003e\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e목차\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e  1장. JPA 소개\u003cbr\u003e1.1 SQL과 문제점\u003cbr\u003e1.1.1 반복, 반복 그리고 반복\u003cbr\u003e1.1.2 SQL에 의존적인 개발\u003cbr\u003e1.1.3 JPA와 문제 해결\u003cbr\u003e1.2 패러다임의 불일치\u003cbr\u003e1.2.1 상속\u003cbr\u003e1.2.2 연관관계\u003cbr\u003e1.2.3 객체 그래프 탐색\u003cbr\u003e1.2.4 비교\u003cbr\u003e1.2.5 정리\u003cbr\u003e1.3 JPA란 무엇일까?\u003cbr\u003e1.3.1 JPA 소개\u003cbr\u003e1.3.2 왜 JPA를 사용해야 하는가?\u003cbr\u003e1.4 정리\u003cbr\u003e\u003cbr\u003e2장. JPA 시작\u003cbr\u003e2.1 이클립스 설치와 프로젝트 불러오기\u003cbr\u003e2.2 H2 데이터베이스 설치\u003cbr\u003e2.3 라이브러리와 프로젝트 구조\u003cbr\u003e2.3.1 메이븐과 사용 라이브러리 관리\u003cbr\u003e2.4 객체 매핑 시작\u003cbr\u003e2.5 persistence.xml 설정\u003cbr\u003e2.5.1 데이터베이스 방언\u003cbr\u003e2.6 애플리케이션 개발\u003cbr\u003e2.6.1 엔티티 매니저 설정\u003cbr\u003e2.6.2 트랜잭션 관리\u003cbr\u003e2.6.3 비즈니스 로직\u003cbr\u003e2.6.4 JPQL\u003cbr\u003e2.7 정리\u003cbr\u003e\u003cbr\u003e3장.\u003cbr\u003e영속성 관리\u003cbr\u003e3.1 엔티티 매니저 팩토리와 엔티티 매니저\u003cbr\u003e3.2 영속성 컨텍스트란?\u003cbr\u003e3.3 엔티티의 생명주기\u003cbr\u003e3.4 영속성 컨텍스트의 특징\u003cbr\u003e3.4.1 엔티티 조회\u003cbr\u003e3.4.2 엔티티 등록\u003cbr\u003e3.4.3 엔티티 수정\u003cbr\u003e3.4.4 엔티티 삭제\u003cbr\u003e3.5 플러시\u003cbr\u003e3.5.1 플러시 모드 옵션\u003cbr\u003e3.6 준영속\u003cbr\u003e3.6.1 엔티티를 준영속 상태로 전환: detach( )\u003cbr\u003e3.6.2 영속성 컨텍스트 초기화: clear( )\u003cbr\u003e3.6.3 영속성 컨텍스트 종료: close( )\u003cbr\u003e3.6.4 준영속 상태의 특징\u003cbr\u003e3.6.5 병합: merge( )\u003cbr\u003e3.7 정리\u003cbr\u003e\u003cbr\u003e4장.\u003cbr\u003e엔티티 매핑\u003cbr\u003e4.1 @Entity\u003cbr\u003e4.2 @Table\u003cbr\u003e4.3 다양한 매핑 사용\u003cbr\u003e4.4 데이터베이스 스키마 자동 생성\u003cbr\u003e4.5 DDL 생성 기능\u003cbr\u003e4.6 기본 키 매핑\u003cbr\u003e4.6.1 기본 키 직접 할당 전략\u003cbr\u003e4.6.2 IDENTITY 전략\u003cbr\u003e4.6.3 SEQUENCE 전략\u003cbr\u003e4.6.4 TABLE 전략\u003cbr\u003e4.6.5 AUTO 전략\u003cbr\u003e4.6.6 기본 키 매핑 정리\u003cbr\u003e4.7 필드와 컬럼 매핑: 레퍼런스\u003cbr\u003e4.7.1 @Column\u003cbr\u003e4.7.2 @Enumerated\u003cbr\u003e4.7.3 @Temporal\u003cbr\u003e4.7.4 @Lob\u003cbr\u003e4.7.5 @Transient\u003cbr\u003e4.7.6 @Access\u003cbr\u003e4.8 정리\u003cbr\u003e\u003cbr\u003e실전 예제 1.\u003cbr\u003e요구사항 분석과 기본 매핑\u003cbr\u003e요구사항 분석\u003cbr\u003e도메인 모델 분석\u003cbr\u003e테이블 설계\u003cbr\u003e엔티티 설계와 매핑\u003cbr\u003e데이터 중심 설계의 문제점\u003cbr\u003e\u003cbr\u003e5장.\u003cbr\u003e연관관계 매핑 기초\u003cbr\u003e5.1 단방향 연관관계\u003cbr\u003e5.1.1 순수한 객체 연관관계\u003cbr\u003e5.1.2 테이블 연관관계\u003cbr\u003e5.1.3 객체 관계 매핑\u003cbr\u003e5.1.4 @JoinColumn\u003cbr\u003e5.1.5 @ManyToOne\u003cbr\u003e5.2 연관관계 사용\u003cbr\u003e5.2.1 저장\u003cbr\u003e5.2.2 조회\u003cbr\u003e5.2.3 수정\u003cbr\u003e5.2.4 연관관계 제거\u003cbr\u003e5.2.5 연관된 엔티티 삭제\u003cbr\u003e5.3 양방향 연관관계\u003cbr\u003e5.3.1 양방향 연관관계 매핑\u003cbr\u003e5.3.2 일대다 컬렉션 조회\u003cbr\u003e5.4 연관관계의 주인\u003cbr\u003e5.4.1 양방향 매핑의 규칙: 연관관계의 주인\u003cbr\u003e5.4.2 연관관계의 주인은 외래 키가 있는 곳\u003cbr\u003e5.5 양방향 연관관계 저장\u003cbr\u003e5.6 양방향 연관관계의 주의점\u003cbr\u003e5.6.1 순수한 객체까지 고려한 양방향 연관관계\u003cbr\u003e5.6.2 연관관계 편의 메소드\u003cbr\u003e5.6.3 연관관계 편의 메소드 작성 시 주의사항\u003cbr\u003e5.7 정리\u003cbr\u003e\u003cbr\u003e실전 예제 2.\u003cbr\u003e연관관계 매핑 시작\u003cbr\u003e일대다, 다대일 연관관계 매핑\u003cbr\u003e객체 그래프 탐색\u003cbr\u003e\u003cbr\u003e6장.\u003cbr\u003e다양한 연관관계 매핑\u003cbr\u003e6.1 다대일\u003cbr\u003e6.1.1 다대일 단방향 [N:1]\u003cbr\u003e6.1.2 다대일 양방향 [N:1, 1:N]\u003cbr\u003e6.2 일대다\u003cbr\u003e6.2.1 일대다 단방향 [1:N]\u003cbr\u003e6.2.2 일대다 양방향 [1:N, N:1]\u003cbr\u003e6.3 일대일 [1:1]\u003cbr\u003e6.3.1 주 테이블에 외래 키\u003cbr\u003e6.3.2 대상 테이블에 외래 키\u003cbr\u003e6.4 다대다 [N:N]\u003cbr\u003e6.4.1 다대다: 단방향\u003cbr\u003e6.4.2 다대다: 양방향\u003cbr\u003e6.4.3 다대다: 매핑의 한계와 극복, 연결 엔티티 사용\u003cbr\u003e6.4.4 다대다: 새로운 기본 키 사용\u003cbr\u003e6.4.5 다대다 연관관계 정리\u003cbr\u003e6.5 정리\u003cbr\u003e\u003cbr\u003e실전 예제 3.\u003cbr\u003e다양한 연관관계 매핑\u003cbr\u003e일대일 매핑\u003cbr\u003e다대다 매핑\u003cbr\u003e\u003cbr\u003e7장.\u003cbr\u003e고급 매핑\u003cbr\u003e7.1 상속 관계 매핑\u003cbr\u003e7.1.1 조인 전략\u003cbr\u003e7.1.2 단일 테이블 전략\u003cbr\u003e7.1.3 구현 클래스마다 테이블 전략\u003cbr\u003e7.2 @MappedSuperclass\u003cbr\u003e7.3 복합 키와 식별 관계 매핑\u003cbr\u003e7.3.1 식별 관계 vs 비식별 관계\u003cbr\u003e7.3.2 복합 키: 비식별 관계 매핑\u003cbr\u003e7.3.3 복합 키: 식별 관계 매핑\u003cbr\u003e7.3.4 비식별 관계로 구현\u003cbr\u003e7.3.5 일대일 식별 관계\u003cbr\u003e7.3.6 식별, 비식별 관계의 장단점\u003cbr\u003e7.4 조인테이블\u003cbr\u003e7.4.1 일대일 조인테이블\u003cbr\u003e7.4.2 일대다 조인테이블\u003cbr\u003e7.4.3 다대일 조인테이블\u003cbr\u003e7.4.4 다대다 조인테이블\u003cbr\u003e7.5 엔티티 하나에 여러 테이블 매핑\u003cbr\u003e7.6 정리\u003cbr\u003e\u003cbr\u003e실전 예제 4.\u003cbr\u003e상속 관계 매핑\u003cbr\u003e상속 관계 매핑\u003cbr\u003e@MappedSuperclass 매핑\u003cbr\u003e\u003cbr\u003e8장.\u003cbr\u003e프록시와 연관관계 관리\u003cbr\u003e8.1 프록시\u003cbr\u003e8.1.1 프록시 기초\u003cbr\u003e8.1.2 프록시와 식별자\u003cbr\u003e8.1.3 프록시 확인\u003cbr\u003e8.2 즉시 로딩과 지연 로딩\u003cbr\u003e8.2.1 즉시 로딩\u003cbr\u003e8.2.2 지연 로딩\u003cbr\u003e8.2.3 즉시 로딩, 지연 로딩 정리\u003cbr\u003e8.3 지연 로딩 활용\u003cbr\u003e8.3.1 프록시와 컬렉션 래퍼\u003cbr\u003e8.3.2 JPA 기본 페치 전략\u003cbr\u003e8.3.3 컬렉션에 FetchType.EAGER 사용 시 주의점\u003cbr\u003e8.4 영속성 전이 - CASCADE\u003cbr\u003e8.4.1 영속성 전이: 저장\u003cbr\u003e8.4.2 영속성 전이: 삭제\u003cbr\u003e8.4.3 CASCADE의 종류\u003cbr\u003e8.5 고아 객체\u003cbr\u003e8.6 영속성 전이 + 고아 객체, 생명주기\u003cbr\u003e8.7 정리\u003cbr\u003e\u003cbr\u003e실전 예제 5.\u003cbr\u003e연관관계 관리\u003cbr\u003e글로벌 페치 전략 설정\u003cbr\u003e영속성 전이 설정\u003cbr\u003e\u003cbr\u003e9장.\u003cbr\u003e값 타입\u003cbr\u003e9.1 기본값 타입\u003cbr\u003e9.2 임베디드 타입(복합 값 타입)\u003cbr\u003e9.2.1 임베디드 타입과 테이블 매핑\u003cbr\u003e9.2.2 임베디드 타입과 연관관계\u003cbr\u003e9.2.3 @AttributeOverride: 속성 재정의\u003cbr\u003e9.2.4 임베디드 타입과 null\u003cbr\u003e9.3.\u003cbr\u003e값 타입과 불변 객체\u003cbr\u003e9.3.1 값 타입 공유 참조\u003cbr\u003e9.3.2 값 타입 복사\u003cbr\u003e9.3.3 불변 객체\u003cbr\u003e9.4.\u003cbr\u003e값 타입의 비교\u003cbr\u003e9.5.\u003cbr\u003e값 타입 컬렉션\u003cbr\u003e9.5.1 값 타입 컬렉션 사용\u003cbr\u003e9.5.2 값 타입 컬렉션의 제약사항\u003cbr\u003e9.6 정리\u003cbr\u003e\u003cbr\u003e실전 예제 6.\u003cbr\u003e값 타입 매핑\u003cbr\u003e실전 예제 정리\u003cbr\u003e\u003cbr\u003e10장.\u003cbr\u003e객체지향 쿼리 언어\u003cbr\u003e10.1 객체지향 쿼리 소개\u003cbr\u003e10.1.1 JPQL 소개\u003cbr\u003e10.1.2 Criteria 쿼리 소개\u003cbr\u003e10.1.3 QueryDSL 소개\u003cbr\u003e10.1.4 네이티브 SQL 소개\u003cbr\u003e10.1.5 JDBC 직접 사용, 마이바티스 같은 SQL 매퍼 프레임워크 사용\u003cbr\u003e10.2 JPQL\u003cbr\u003e10.2.1 기본 문법과 쿼리 API\u003cbr\u003e10.2.2 파라미터 바인딩\u003cbr\u003e10.2.3 프로젝션\u003cbr\u003e10.2.4 페이징 API\u003cbr\u003e10.2.5 집합과 정렬\u003cbr\u003e10.2.6 JPQL 조인\u003cbr\u003e10.2.7 페치 조인\u003cbr\u003e10.2.8 경로 표현식\u003cbr\u003e10.2.9 서브 쿼리\u003cbr\u003e10.2.10 조건식\u003cbr\u003e10.2.11 다형성 쿼리\u003cbr\u003e10.2.12 사용자 정의 함수 호출(JPA 2.1)\u003cbr\u003e10.2.13 기타 정리\u003cbr\u003e10.2.14 엔티티 직접 사용\u003cbr\u003e10.2.15 Named 쿼리: 정적 쿼리\u003cbr\u003e10.3 Criteria\u003cbr\u003e10.3.1 Criteria 기초\u003cbr\u003e10.3.2 Criteria 쿼리 생성\u003cbr\u003e10.3.3 조회\u003cbr\u003e10.3.4 집합\u003cbr\u003e10.3.5 정렬\u003cbr\u003e10.3.6 조인\u003cbr\u003e10.3.7 서브 쿼리\u003cbr\u003e10.3.8 IN 식\u003cbr\u003e10.3.9 CASE 식\u003cbr\u003e10.3.10 파라미터 정의\u003cbr\u003e10.3.11 네이티브 함수 호출\u003cbr\u003e10.3.12 동적 쿼리\u003cbr\u003e10.3.13 함수 정리\u003cbr\u003e10.3.14 Criteria 메타 모델 API\u003cbr\u003e10.4 QueryDSL\u003cbr\u003e10.4.1 QueryDSL 설정\u003cbr\u003e10.4.2 시작\u003cbr\u003e10.4.3 검색 조건 쿼리\u003cbr\u003e10.4.4 결과 조회\u003cbr\u003e10.4.5 페이징과 정렬\u003cbr\u003e10.4.6 그룹\u003cbr\u003e10.4.7 조인\u003cbr\u003e10.4.8 서브 쿼리\u003cbr\u003e10.4.9 프로젝션과 결과 반환\u003cbr\u003e10.4.10 수정, 삭제 배치 쿼리\u003cbr\u003e10.4.11 동적 쿼리\u003cbr\u003e10.4.12 메소드 위임\u003cbr\u003e10.4.13 QueryDSL 정리\u003cbr\u003e10.5 네이티브 SQL\u003cbr\u003e10.5.1 네이티브 SQL 사용\u003cbr\u003e10.5.2 Named 네이티브 SQL\u003cbr\u003e10.5.3 네이티브 SQL XML 에 정의\u003cbr\u003e10.5.4 네이티브 SQL 정리\u003cbr\u003e10.5.5 스토어드 프로시저(JPA 2.1)\u003cbr\u003e10.6 객체지향 쿼리 심화\u003cbr\u003e10.6.1 벌크 연산\u003cbr\u003e10.6.2 영속성 컨텍스트와 JPQL\u003cbr\u003e10.6.3 JPQL과 플러시 모드\u003cbr\u003e10.7 정리\u003cbr\u003e\u003cbr\u003e11장.\u003cbr\u003e웹 애플리케이션 제작\u003cbr\u003e11.1 프로젝트 환경설정\u003cbr\u003e11.1.1 프로젝트 구조\u003cbr\u003e11.1.2 메이븐과 사용 라이브러리 관리\u003cbr\u003e11.1.3 스프링 프레임워크 설정\u003cbr\u003e11.2 도메인 모델과 테이블 설계\u003cbr\u003e11.2.1 요구사항 분석\u003cbr\u003e11.2.2 도메인 모델 설계\u003cbr\u003e11.2.3 테이블 설계\u003cbr\u003e11.2.4 연관관계 정리\u003cbr\u003e11.2.5 엔티티 클래스\u003cbr\u003e11.3 애플리케이션 구현\u003cbr\u003e11.3.1 개발 방법\u003cbr\u003e11.3.2 회원 기능\u003cbr\u003e11.3.3 상품 기능\u003cbr\u003e11.3.4 주문 기능\u003cbr\u003e11.3.5 웹 계층 구현\u003cbr\u003e11.4 정리\u003cbr\u003e\u003cbr\u003e12장.\u003cbr\u003e스프링 데이터 JPA\u003cbr\u003e12.1 스프링 데이터 JPA 소개\u003cbr\u003e12.1.1 스프링 데이터 프로젝트\u003cbr\u003e12.2 스프링 데이터 JPA 설정\u003cbr\u003e12.3 공통 인터페이스 기능\u003cbr\u003e12.4 쿼리 메소드 기능\u003cbr\u003e12.4.1 메소드 이름으로 쿼리 생성\u003cbr\u003e12.4.2 JPA NamedQuery\u003cbr\u003e12.4.3 @Query, 리파지토리 메소드에 쿼리 정의\u003cbr\u003e12.4.4 파라미터 바인딩\u003cbr\u003e12.4.5 벌크성 수정 쿼리\u003cbr\u003e12.4.6 반환 타입\u003cbr\u003e12.4.7 페이징과 정렬\u003cbr\u003e12.4.8 힌트\u003cbr\u003e12.4.9 Lock\u003cbr\u003e12.5 Specifications(명세)\u003cbr\u003e12.6 사용자 정의 리파지토리 구현\u003cbr\u003e12.7 Web 확장\u003cbr\u003e12.7.1 설정\u003cbr\u003e12.7.2 도메인 클래스 컨버터 기능\u003cbr\u003e12.7.3 페이징과 정렬 기능\u003cbr\u003e12.8 스프링 데이터 JPA가 사용하는 구현체\u003cbr\u003e12.9 JPA 샵에 적용\u003cbr\u003e12.9.1 환경 설정\u003cbr\u003e12.9.2 리파지토리 리팩토링\u003cbr\u003e12.9.3 명세 적용\u003cbr\u003e12.10 스프링 데이터 JPA와 QueryDSL 통합\u003cbr\u003e12.10.1 QueryDslPredicateExecutor 사용\u003cbr\u003e12.10.3 QueryDslRepositorySupport 사용\u003cbr\u003e12.11 정리\u003cbr\u003e\u003cbr\u003e13장.\u003cbr\u003e웹 애플리케이션과 영속성 관리\u003cbr\u003e13.1 트랜잭션 범위의 영속성 컨텍스트\u003cbr\u003e13.1.1 스프링 컨테이너의 기본 전략\u003cbr\u003e13.2 준영속 상태와 지연 로딩\u003cbr\u003e13.2.1 글로벌 페치 전략 수정\u003cbr\u003e13.2.2 JPQL 페치 조인\u003cbr\u003e13.2.3 강제로 초기화\u003cbr\u003e13.2.4 FACADE 계층 추가\u003cbr\u003e13.2.5 준영속 상태와 지연 로딩의 문제점\u003cbr\u003e13.3 OSIV\u003cbr\u003e13.3.1 과거 OSIV: 요청 당 트랜잭션\u003cbr\u003e13.3.2 스프링 OSIV: 비즈니스 계층 트랜잭션\u003cbr\u003e13.3.3 OSIV 정리\u003cbr\u003e13.4 너무 엄격한 계층\u003cbr\u003e13.5 정리\u003cbr\u003e\u003cbr\u003e14장.\u003cbr\u003e컬렉션과 부가 기능\u003cbr\u003e14.1 컬렉션\u003cbr\u003e14.1.1 JPA와 컬렉션\u003cbr\u003e14.1.2 Collection, List\u003cbr\u003e14.1.3 Set\u003cbr\u003e14.1.4 List + @OrderColumn\u003cbr\u003e14.1.5 @OrderBy\u003cbr\u003e14.2 @Converter\u003cbr\u003e14.2.1 글로벌 설정\u003cbr\u003e14.3 리스너\u003cbr\u003e14.3.1 이벤트 종류\u003cbr\u003e14.3.2 이벤트 적용 위치\u003cbr\u003e14.4 엔티티 그래프\u003cbr\u003e14.4.1 Named 엔티티 그래프\u003cbr\u003e14.4.2 em.find( )에서 엔티티 그래프 사용\u003cbr\u003e14.4.3 subgraph\u003cbr\u003e14.4.4 JPQL에서 엔티티 그래프 사용\u003cbr\u003e14.4.5 동적 엔티티 그래프\u003cbr\u003e14.4.6 엔티티 그래프 정리\u003cbr\u003e14.5 정리\u003cbr\u003e\u003cbr\u003e15장.\u003cbr\u003e고급 주제와 성능 최적화\u003cbr\u003e15.1 예외 처리\u003cbr\u003e15.1.1 JPA 표준 예외 정리\u003cbr\u003e15.1.2 스프링 프레임워크의 JPA 예외 변환\u003cbr\u003e15.1.3 스프링 프레임워크에 JPA 예외 변환기 적용\u003cbr\u003e15.1.4 트랜잭션 롤백 시 주의사항\u003cbr\u003e15.2 엔티티 비교\u003cbr\u003e15.2.1 영속성 컨텍스트가 같을 때 엔티티 비교\u003cbr\u003e15.2.2 영속성 컨텍스트가 다를 때 엔티티 비교\u003cbr\u003e15.3 프록시 심화 주제\u003cbr\u003e15.3.1 영속성 컨텍스트와 프록시\u003cbr\u003e15.3.2 프록시 타입 비교\u003cbr\u003e15.3.3 프록시 동등성 비교\u003cbr\u003e15.3.4 상속관계와 프록시\u003cbr\u003e15.4 성능 최적화\u003cbr\u003e15.4.1 N+1 문제\u003cbr\u003e15.4.2 읽기 전용 쿼리의 성능 최적화\u003cbr\u003e15.4.3 배치 처리\u003cbr\u003e15.4.4 SQL 쿼리 힌트 사용\u003cbr\u003e15.4.5 트랜잭션을 지원하는 쓰기 지연과 성능 최적화\u003cbr\u003e15.5 정리\u003cbr\u003e\u003cbr\u003e16장.\u003cbr\u003e트랜잭션과 락, 2차 캐시\u003cbr\u003e16.1 트랜잭션과 락\u003cbr\u003e16.1.1 트랜잭션과 격리 수준\u003cbr\u003e16.1.2 낙관적 락과 비관적 락 기초\u003cbr\u003e16.1.3 @Version\u003cbr\u003e16.1.4 JPA 락 사용\u003cbr\u003e16.1.5 JPA 낙관적 락\u003cbr\u003e16.1.6 JPA 비관적 락\u003cbr\u003e16.1.7 비관적 락과 타임아웃\u003cbr\u003e16.2 2차 캐시\u003cbr\u003e16.2.1 1차 캐시와 2차 캐시\u003cbr\u003e16.2.2 JPA 2차 캐시 기능\u003cbr\u003e16.2.3 하이버네이트와 EHCACHE 적용\u003cbr\u003e16.3 정리\u003cbr\u003e \u003c\/div\u003e \u003cdiv\u003e\u003c\/div\u003e \u003c\/div\u003e \u003cbr\u003e\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e출판사 리뷰\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e  \u003cb\u003e★ 이 책에서 다루는 내용 ★\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e■ JPA 기초 이론과 핵심 원리\u003cbr\u003e■ JPA로 도메인 모델을 설계하는 과정을 예제 중심으로 설명\u003cbr\u003e■ 다양한 객체 지향 쿼리 언어 설명\u003cbr\u003e■ JPA와 스프링 프레임워크를 함께 사용해서 웹 애플리케이션을 개발하는 방법\u003cbr\u003e■ 스프링 데이터 JPA, QueryDSL 소개 및 활용\u003cbr\u003e■ 실무에서 JPA를 사용할 때 성능을 최적화하는 다양한 방법\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003e★ 이 책의 대상 독자 ★\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e이 책은 JPA를 사용해서 엔터프라이즈 애플리케이션을 개발하려는 모든 자바 개발자를 대상으로 한다.\u003cbr\u003e이 책의 내용을 이해하려면 자바 언어와 JDBC를 사용한 데이터베이스 프로그래밍, 그리고 객체지향 프로그래밍과 관계형 데이터베이스에 대해 어느 정도 알고 있어야 한다.\u003cbr\u003e추가로 3부는 웹 개발과 스프링 프레임워크에 대한 기초 지식이 필요하며 JUnit을 다룰 수 있어야 한다.\u003cbr\u003e그리고 예제 코드를 실행하려면 메이븐에 대해서도 약간의 지식이 필요하다.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003e★ 이 책의 구성 ★\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003eJPA는 크게 객체와 테이블을 어떻게 매핑해야 하는지에 관한 설계 부분과 설계한 모델을 실제 사용하는 부분으로 나눌 수 있다.\u003cbr\u003e책의 앞부분에서는 기초 이론과 설계 방법을 학습하고 뒷부분에서는 학습한 이론을 바탕으로 JPA를 활용해서 실제 웹 애플리케이션을 개발한다.\u003cbr\u003e\u003cbr\u003e이 책은 크게 네 부분으로 나뉘어 있다.\u003cbr\u003e\u003cbr\u003e1장에서 9장은 이론 편이다.\u003cbr\u003e객체와 테이블을 매핑하는 방법과 JPA의 핵심 기능들을 알아본다.\u003cbr\u003e4장부터 9장까지는 각 장의 마지막에 점진적으로 도메인 모델을 설계해 나가는 실전 예제가 있어서 학습한 내용을 실제로 적용해볼 수 있게 했다.\u003cbr\u003e\u003cbr\u003e10장은 객체지향 쿼리 언어에 대한 내용이다. JPA가 제공하는 객체지향 쿼리 언어인 JPQL(Java Persistence Query Language)부터 직접 SQL을 작성하는 네이티브 SQL까지 알아본다.\u003cbr\u003e\u003cbr\u003e11장과 12장은 실무에서 JPA를 사용하기 위한 활용편이다.\u003cbr\u003e스프링 프레임워크와 JPA를 사용해서 어떻게 웹 애플리케이션을 개발하는지 학습하고 스프링 데이터 JPA와 QueryDSL이라는 혁신적인 오픈소스도 사용해본다.\u003cbr\u003e13장에서 16장은 트랜잭션과 락, 캐시, 성능 최적화 등 JPA의 다양한 고급 주제들을 다룬다.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003e★ 온라인 강의 ★\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e지금까지 다양한 실무 프로젝트에 JPA를 도입했다.\u003cbr\u003e작게는 단순한 웹 서비스부터 크게는 조 단위의 거래 금액을 처리하는 주문, 결제, 정산 시스템까지 JPA로 직접 설계하고 개발했다. JPA를 처음 실무에 도입할 때는 좌충우돌 했지만, 개발 생산성과 유지보수가 확연히 좋아졌고 코드 품질과 테스트에 더 많은 시간을 할애할 수 있었다.\u003cbr\u003e무엇보다 JPA를 사용해본 동료들은 이전으로 돌아가고 싶어하지 않아 했다.\u003cbr\u003e하지만 JPA에 관한 국내 자료가 부족해 어려움이 많았다.\u003cbr\u003e그래서 2015년 직접 이 책을 썼다.\u003cbr\u003e책과 함께 볼 수 있는 유료 온라인 강의를 제공한다.\u003cbr\u003e책을 출간한 뒤 네이버, 카카오와 같은 인터넷 비즈니스 회사부터 우아한형제들, 11번가 등 e커머스 회사까지 JPA를 사용 중이거나 도입하려는 많은 회사에서 강연했다.\u003cbr\u003e책에서 이해하기 어렵던 부분을 강의를 통해 쉽게 이해했다는 개발자들의 이야기를 듣고 온라인 강의를 개설했다.\u003cbr\u003e참고로 강의는 최신 버전의 스프링 부트와 JPA를 사용하고, 코드로 쉽게 따라할 수 있다.\u003cbr\u003e그리고 실무 노하우를 전달하는 데 더 많은 초점을 맞췄다.\u003cbr\u003e여러분도 실무에서 JPA를 자신 있게 활용할 수 있기를 바란다.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e다음 링크에서 온라인 강의를 수강할 수 있다.\u003cbr\u003e\u003cbr\u003e■ 강의 링크: https:\/\/www.inflearn.com\/roadmaps\/149\u003cbr\u003e■ 온라인 강의 목록\u003cbr\u003e-자바 ORM 표준 JPA 프로그래밍 - 기본편: https:\/\/www.inflearn.com\/course\/ORM-JPA-Basic\u003cbr\u003e-실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발: https:\/\/www.inflearn.com\/course\/스프링부트-JPA-활용-1\u003cbr\u003e-실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화: https:\/\/www.inflearn.com\/course\/스프링부트-JPA-API개발-성능최적화#\u003cbr\u003e-실전! 스프링 데이터 JPA: https:\/\/www.inflearn.com\/course\/스프링-데이터-JPA-실전\u003cbr\u003e-실전! Querydsl: https:\/\/www.inflearn.com\/course\/Querydsl-실전\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003e★ 지은이의 말 ★\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003eJPA를 처음 접했을 때의 놀라움은 아직도 잊혀지지 않는다.\u003cbr\u003e지금까지 관계형 데이터베이스에서 객체를 관리하려고 작성했던 무수한 CRUD 코드와 SQL들이 머릿속을 스쳐 지나갔다.\u003cbr\u003e마치 시골에서 직접 모내기를 하다가 최신 트랙터를 만난 기분이었다.\u003cbr\u003e\u003cbr\u003e객체를 관계형 데이터베이스에 저장하려면 많은 시간과 코드를 소비해야 한다.\u003cbr\u003e예를 들어 객체를 SQL로 변환하는 단순한 일부터, 객체의 상속 구조를 테이블에 저장하는 복잡한 일까지, 개발자는 객체와 데이터베이스 사이에서 무수한 매핑 코드와 SQL을 작성해야 한다.\u003cbr\u003e자바 진영에서는 이런 문제를 해결하기 위해 JPA라는 표준 기술을 제공한다.\u003cbr\u003e자바 ORM 표준 JPA는 SQL 작성 없이 객체를 데이터베이스에 직접 저장할 수 있게 도와주고, 객체와 관계형 데이터베이스의 차이도 중간에서 해결해준다.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e그간 실무에 JPA를 도입하면서 처음에는 좌충우돌하기도 했지만, 개발 생산성과 유지보수가 확연히 좋아졌고, 남은 시간에 코드 품질과 테스트에 더 많은 시간을 쏟을 수 있었다.\u003cbr\u003e그리고 JPA를 사용해본 동료들은 전으로 돌아가고 싶어하지 않았다.\u003cbr\u003e하지만 JPA에 대한 국내 자료가 부족했고, 대부분이 원서여서 어려운 점이 많았다.\u003cbr\u003e그래서 때가 되면 JPA에 대한 책을 쓰고 싶다고 어렴풋하게 생각했는데, 마침 『토비의 스프링 3』과 『토비의 스프링 3.1』을 저술하신 이일민 님께서 JPA에 관한 책 쓰기를 권유하셨다.\u003cbr\u003e6개월 정도면 충분하겠지 생각하고 책을 쓰기로 했는데, 어느덧 시간이 화살처럼 빠르게 지나 2년이 지나버렸다.\u003cbr\u003e\u003cbr\u003e이 책에서는 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다루는 데 주력했다.\u003cbr\u003e또한, 스프링 프레임워크와 JPA를 함께 사용하는 방법을 설명하고, 스프링 데이터 JPA, QueryDSL 같은 혁신적인 오픈 소스를 활용해서 자바 웹 애플리케이션을 효과적으로 개발하는 방법을 설명했다.\u003cbr\u003e\u003cbr\u003e돌이켜보니 보잘것없는 사람의 책을 기다리고 응원해주신 분들 덕분에 여기까지 온 것 같다.\u003cbr\u003e진심으로 정말 큰 힘이 되었기에, 그 모든 분께 감사를 전한다.\u003cbr\u003e이 책이 JPA를 시작하는 분들께 조금이나마 도움이 되길 바란다.\u003cbr\u003e\n\u003c\/div\u003e \u003cdiv\u003e\u003c\/div\u003e \u003c\/div\u003e \u003c\/div\u003e\n\u003c\/div\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003eGOODS SPECIFICS\u003c\/div\u003e\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003e발행일 : \u003c\/strong\u003e2015년 07월 28일\u003c\/div\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003e쪽수, 무게, 크기 : \u003c\/strong\u003e736쪽 | 1,261g | 188*250*36mm\u003c\/div\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003eISBN13 : \u003c\/strong\u003e9788960777330\u003c\/div\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003eISBN10 : \u003c\/strong\u003e8960777331\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ccenter\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cspan\u003e\u003c\/span\u003e\n\u003c\/center\u003e\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893365309482,"sku":"139563","price":57.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/70bd5c1021e7a2d4c9febc8d977fbe9b.jpg?v=1765398548","url":"https:\/\/librairie.coreenne.fr\/ko\/products\/139563","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}