이런 걸 배울 수 있어요

  • 스프링 데이터 JPA를 기초부터 실무 활용까지 한번에 배울 수 있습니다.
  • 실무에서 실제 사용하는 기능 위주로 학습합니다.
  • 단순한 기능 설명을 넘어 실무 활용 노하우를 배울 수 있습니다.
  • JPA와 스프링 데이터 JPA의 차이를 명확하게 이해할 수 있습니다.

실전! 스프링 데이터 JPA

처음 인프런에 강의를 기획 했을 때, 다양한 실무 프로젝트에 스프링 부트와 JPA를 적용하면서 배우고 느낀, 노하우를 여러분께 생생하게 전해드리고 싶었습니다. 그래서 JPA 기본기 강의를 시작으로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 개발하고, 성능을 최적화하는 방법을 전해드렸습니다. 이제 스프링 데이터 JPA 차례입니다.


스프링 부트와 JPA라는 기반 위에, 스프링 데이터 JPA라는 환상적인 프레임워크를 더하면 개발이 정말 즐거워집니다.
지금까지 조금이라도 단순하고 반복이라 생각했던 개발 코드들이 확연하게 줄어듭니다. 따라서 개발자는 핵심 비즈니스 로직을 개발하는데, 집중할 수 있습니다.

실무에서 관계형 데이터베이스를 사용한다면 스프링 데이터 JPA는 선택이 아니라 필수 입니다.

기존 강의에서 스프링 데이터 JPA를 사용하지 않은 이유

스프링 데이터 JPA는 스프링과 JPA를 사용한다면, 실무에서 필수로 사용하는 기술입니다. 그런데 지금까지 진행한 다음 강의에서는 의도적으로 이 기술들을 사용하지 않았습니다.

스프링 데이터 JPA는 JPA를 정말 편리하게 사용하도록 도와주는 기술입니다. 하지만 JPA의 너무 많은 부분을 자동화하고 추상화합니다. 따라서 JPA에 대한 기본 이해 없이, 처음부터 스프링 데이터 JPA를 사용하면, 깊이있는 내부 동작 방식을 이해하기 어렵습니다. 그래서 실전! 스프링 데이터 JPA 강의에서는 순수하게 JPA로 개발한 코드를 먼저 보여드리고, 그 다음에 스프링 데이터 JPA로 변경해서 어떤 차이가 있는지 비교하는 식으로 진행합니다.


실무 위주

스프링 데이터 JPA는 정말 다양한 기능을 제공합니다. 여기서 겉으로 보기에는 멋지고 화려하지만 아직 실무에서 사용하기에 부족한 기능들도 있습니다. 그래서 실무에서 자주 사용하는 기능 위주로 설명하고, 실무에서 사용하기에 아직 부족한 기능들은 과감하게 내용을 줄였습니다. 그리고 어떤 점 때문에 실무에서 사용하기 부족한지 설명해드립니다.

마지막으로 가장 중요한 실무에서 스프링 데이터 JPA를 어떻게 활용하면 좋은지 생생한 실무 노하우들을 전해드립니다.

주의

본 강의는 JPA 자체를 깊이있게 다루지 않습니다. 따라서 자바 ORM 표준 JPA 프로그래밍, 또는 실전! 스프링 부트와 JPA 활용1 강의를 먼저 듣고 본 강의를 듣는 것을 권장합니다.

연관된 강좌

자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA 기반 기술을 이해하는데 필요한 선수 강좌입니다.

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

스프링 부트와 JPA로 실제 웹 애플리케이션을 설계하고 개발합니다.

실전! 스프링부트와 JPA 활용2 - API 개발과 성능 최적화

API를 개발하고, JPA 성능 최적화를 이해합니다.

참고 도서

책은 더 깊은 내용을 공부하고 싶은 분들을 위한 참고서로 생각하시면 됩니다. 
(책이 없어도 강의를 위한 별도의 자료가 제공됩니다.)

수강 대상

  • 스프링 데이터 JPA를 처음부터 학습하고 싶은 분
  • 실무에서 스프링 데이터 JPA를 사용하지만 더 잘 활용하고 싶은 분
  • 스프링 데이터 JPA의 다양한 기능 중에서 실무에서 실제 사용하는 기능 위주로 활용법을 배우고 싶은 분

선수 지식

  • JPA
  • 스프링 프레임워크
  • 관계형 데이터베이스 기초 지식

교육과정

모두 펼치기 32 강의 7시간 17분
섹션 0. 스프링 데이터 JPA 소개
2 강의 03 : 15
섹션 1. 프로젝트 환경설정
4 강의 48 : 29
프로젝트 생성
08 : 01
라이브러리 살펴보기
09 : 06
H2 데이터베이스 설치
05 : 02
스프링 데이터 JPA와 DB 설정, 동작확인
26 : 20
섹션 2. 예제 도메인 모델
1 강의 19 : 42
예제 도메인 모델과 동작확인
19 : 42
섹션 3. 공통 인터페이스 기능
4 강의 38 : 54
순수 JPA 기반 리포지토리 만들기
17 : 05
공통 인터페이스 설정
07 : 51
공통 인터페이스 적용
03 : 59
공통 인터페이스 분석
09 : 59
섹션 4. 쿼리 메소드 기능
11 강의 161 : 19
메소드 이름으로 쿼리 생성
17 : 27
JPA NamedQuery
13 : 07
@Query, 리포지토리 메소드에 쿼리 정의하기
05 : 45
@Query, 값, DTO 조회하기
08 : 37
파라미터 바인딩
03 : 52
반환 타입
12 : 40
순수 JPA 페이징과 정렬
12 : 53
스프링 데이터 JPA 페이징과 정렬
29 : 59
벌크성 수정 쿼리
16 : 06
@EntityGraph
24 : 13
JPA Hint & Lock
16 : 40
섹션 5. 확장 기능
4 강의 67 : 30
사용자 정의 리포지토리 구현
15 : 31
Auditing
23 : 44
Web 확장 - 도메인 클래스 컨버터
05 : 42
Web 확장 - 페이징과 정렬
22 : 33
섹션 6. 스프링 데이터 JPA 분석
2 강의 29 : 56
스프링 데이터 JPA 구현체 분석
13 : 39
새로운 엔티티를 구별하는 방법
16 : 17
섹션 7. 나머지 기능들
4 강의 68 : 16
Specifications (명세)
18 : 42
Query By Example
14 : 16
Projections
19 : 33
네이티브 쿼리
15 : 45

공개 일자

2019년 11월 26일 (마지막 업데이트 일자 : 2019년 11월 24일)

수강 후기

5.0
3개의 수강평
curtiskim 1일 전
이번년도 끝에 영한님 강의와 기선님꺼 듣고 있는데요 늘 재밌게 보고 있습니다. 이번강의도 역시 라이브코딩과 실무 이야기 그리고 주의점까지 설명 감사해요 jpa를 사용하고 있는데 그동안 강의가 복습도 되고 몰랐던것도 알게 되고 그냥 지나쳤던부분도 다시 알게되어 좋았던 시간이였어요 이다음 query dsl강의도 올라오면 감사히 듣겠습니다^^ 영한님꺼 올라온 강의는 전부 다 듣게 되겠네요 ^^ 감사합니다 남은 한해 즐겁게 보내세요
김영한 프로필

김영한 1일 전
모든 강의를 다 완강하셨군요! curtiskim님 덕분에 querydsl 강의도 더 열심히 준비해야겠네요 ㅎㅎ 처음 생각했던 실전 스프링 JPA 강의에서 querydsl까지만 정리하면 목표했던 강의를 다 만들게 됩니다 querydsl 강의를 완성하면 저도 당분간은 좀 휴식을 가지려구요^^ 따뜻한 수강평 고맙습니다. 남은 한해도 즐겁게 보내세요^^

PureDouble 1일 전
좋은 강좌 만들어 주셔서 감사합니다! 실무 위주로 해주시는 부분에 많은 도움을 받고 있습니다.
김영한 프로필

김영한 1일 전
PureDouble님 다시 한번 고맙습니다^^ 중간에 언제든지 편하게 질문주세요~

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스