스프링 데이터 JPA

스프링 데이터 JPA

(26개의 수강평)

681명의 수강생

88,000원

백기선
평생
활용
수료증
44개 수업, 총 8시간 53분
Wishlist

스프링 데이터 JPA

JPA(Java Persistence API)를 보다 쉽게 사용할 수 있도록 여러 기능을 제공하는 스프링 데이터 JPA에 대해 학습합니다.
왜 JPA를 학습해야 하는가?
  • 도메인 주도 개발이 가능합니다.
  • 애플리케이션의 코드가 SQL 데이터베이스 관련 코드에 잠식 당하는 것을 방지하고 도메인 기반의 프로그래밍으로 비즈니스 로직을 구현하는데 집중할 수 있습니다.
  • 그리고 개발 생산성에 좋으며, 데이터베이스에 독립적인 프로그래밍이 가능하고, 타입 세이프한 쿼리 작성 그리고 Persistent Context가 제공하는 캐시 기능으로 성능 최적화까지 가능합니다.

이러한 여러 장점을 지닌 JPA의 한가지 단점. 높은 학습 비용. 이번 강좌가 그 학습 비용을 조금이라도 낮추는데 도움이 되길 바랍니다.

이번 강좌는 먼저 ORM(Object-Relational Mapping)이 해결하려는 문제 즉, 객체(Object)와 관계형(Relational) 데이터베이스의 개념적인 불일치에 대해 학습합니다.

다음으로 ORM의 구현체인 JPA와 하이버네이트의 중요한 특징을 학습합니다. 특히, Fetching 전략과 엔티티의 라이프사이클을 이해해야 성능을 고려하며 JPA 프로그래밍을 할 수 있습니다.

이어서, 스프링 데이터 JPA의 마술과도 같은 빈 생성 방법도 살펴봅니다. 핵심 개념 원리에 대한 학습을 마치고 본격적으로 스프링 데이터 JPA의 다양한 활용 방법을 살펴봅니다. 기본으로 제공하는 기능부터 살펴보고 다양한 커스터마아징 및 여러 기술 연동 방법을 학습합니다.

  학습 목표

ORM(Object-Relation Mapping)에 대해 이해합니다. JPA를 사용할 때 반드시 알아야 하는 특징을 이해합니다. 스프링 데이터 JPA의 구동 원리를 이해합니다. 스프링 데이터 JPA를 사용하여 다양한 방법으로 Repository를 구현할 수 있습니다. 스프링 데이터 JPA를 사용하여 다양한 방법으로 쿼리를 만들고 실행할 수 있습니다.

도움이 되는 분들

  • JPA 또는 하이버네이트 프로그래밍을 시작하는 학생 또는 개발자.
  • ORM과 JPA 그리고 스프링 데이터 JPA의 원리를 이해하고 싶은 학생 또는 개발자.
  • 스프링 데이터 JPA를 처음 사용하거나 혹은 더 잘 활용하고 싶은 학생 또는 개발자.

참고 사항

  • 자바 프로그래밍에 경험이 있다고 가정합니다.
  • JDK, 데이터베이스, IDE, 빌드툴 설치에 관한 내용을 다루지 않습니다.
  • 본 강좌는 메이븐, JDK 1.8, 도커, PostgreSQL, H2, 인텔리J, 스프링 부트를 사용합니다.

  지식공유자 소개

백기선
현재 마이크로소프트에서 개발자로 재직중입니다. 이전에 아마존과 네이버에서 일을 했었습니다. 스프링 프레임워크와 하이버네이트(JPA)를 사용해서 개발하는 것을 좋아하며 온라인에서 강좌를 만들거나 유투브에 코딩 관련 동영상을 올리며 학습하고 또 공유하고 있습니다.

지식공유자 소개

백기선

교육과정

Intro
강좌 소개
04 : 00
강사 소개
02 : 00
강의자료
핵심 개념 이해
관계형 데이터베이스와 자바
20 : 00
ORM 개요
14 : 00
ORM 패러다임 불일치
16 : 00
JPA 프로그래밍 1. 프로젝트 세팅
21 : 00
JPA 프로그래밍 2. 엔티티 타입 맵핑
22 : 00
JPA 프로그래밍 3. Value 타입 맵핑
07 : 00
JPA 프로그래밍 4. 관계 맵핑
18 : 00
JPA 프로그래밍 5. 엔티티 상태와 Cascade
19 : 00
JPA 프로그래밍 6. Fetch
10 : 00
JPA 프로그래밍 7. 쿼리
12 : 00
스프링 데이터 JPA 원리
16 : 00
핵심 개념 마무리
08 : 00
스프링 데이터 JPA 활용
스프링 데이터 JPA 활용 파트 소개
03 : 00
스프링 데이터 Common 1. 리포지토리
23 : 00
스프링 데이터 Common 2. 인터페이스 정의하기
08 : 00
스프링 데이터 Common 3. Null 처리
13 : 00
스프링 데이터 Common 4. 쿼리 만들기
21 : 00
스프링 데이터 Common 4. 쿼리 만들기 실습
17 : 00
스프링 데이터 Common 6. 비동기 쿼리 메소드
19 : 00
스프링 데이터 Common 7. 커스텀 리포지토리 만들기
22 : 00
스프링 데이터 Common 8. 기본 리포지토리 커스터마이징
10 : 00
스프링 데이터 Common 9. 도메인 이벤트
16 : 00
스프링 데이터 Common 10. QueryDSL 연동
25 : 00
스프링 데이터 Common 11. 웹 기능 1부 소개
07 : 00
스프링 데이터 Common 12. 웹 기능 2부 DomainClassConverter
15 : 00
스프링 데이터 Common 13. 웹 기능 3부 Pageable과 Sort
07 : 00
스프링 데이터 Common 14. 웹 기능 4부 HATEOAS
07 : 00
스프링 데이터 Common 15. 정리
04 : 00
스프링 데이터 JPA 1. JpaRepository
10 : 00
스프링 데이터 JPA 2. JpaRepository.save() 메소드
13 : 00
스프링 데이터 JPA 3. JPA 쿼리 메소드
07 : 00
스프링 데이터 JPA 4. Sort
03 : 00
스프링 데이터 JPA 5. Named Parameter와 SpEL
03 : 00
스프링 데이터 JPA 6. Update 쿼리
09 : 00
스프링 데이터 JPA 7. EntityGraph
14 : 00
스프링 데이터 JPA 8. Projection
14 : 00
스프링 데이터 JPA 9. Specifications
10 : 00
스프링 데이터 JPA 10. Query by Example
10 : 00
스프링 데이터 JPA 11. 트랜잭션
14 : 00
스프링 데이터 JPA 12. Auditing
13 : 00
스프링 데이터 JPA 마무리
07 : 00

수강 후기

4.8
26개의 수강평
Sung Young Kevin Kwon 1일 전
많은 도움이 되었습니다~
Heeyoun Song 1달 전
좋은 강좌 감사드립니다^^ 다음 강좌로 스프링 시큐리티 강좌 만들어주시면 좋을거 같아요^^ 수고하셨습니다 좋은 강좌 만드시느라 :)
강원덕 1달 전
매우 유익한 강좌였습니다. 익숙치 않은 스프링 부트와 JPA를 통해서 프로젝트를 진행해야 했는데 기본기를 매우 탄탄하게 다질 수 있었습니다. 감사합니다.
헬로월드 2달 전
좋은 강좌 감사합니다. 프로젝트에 JPA를 제대로 알지 못하고 도입한 후에 이 강좌를 접했고 현재 프로젝트의 문제점을 생각하면서 강의를 들었습니다. 강좌를 마친 지금은 머리속에 프로젝트의 리팩토링 계획이 그려져있네요 ^^ 좋은 강의는 지식을 단순히 주입하는게 아니고 공부해야할 포인트를 짚어주고 동기부여를 해주는데 있다고 생각합니다. 이 강좌를 통해 JPA 전반을 알 수 있었고 앞으로 필요한 부분은 스스로 찾아서 학습할 수 있게되었습니다. 좋은 강좌 만들어주셔서 감사드리며 REST 강좌도 학습마치면 또 리뷰글 남기겠습니다.
Kim Je 2달 전
감사합니다. JPA & hibernate 사용해서 개발 중인데 도움이 많이 되었습니다. 소스 자체도 워낙 훌륭한데 가성비까지도 매우 좋습니다. 저는 JPA 및 선수강은 가격 인상 전에 쿠폰 발라서 들었습니다만, 아직 듣지 않은 강의는 할인 없어도 구매할 거 같습니다. 유튜브도 잘 보고 있어요~ 감사합니다.
최수정 3달 전
좋은강좌만들어주셔서 감사합니다. 좋은강좌만들어주셔서 감사합니다!!!
윤기쁨 3달 전
유용한 강의 감사합니다. 도움이 많이 되었습니다!!
이승익 3달 전
springdatajpa ? 어렵지만, 재밌었습니다. 복습하며 계속 이해하고, 심화 공부하겠습니다. 감사합니다 ^^. 이제 또 다른 강좌 시작하겠습니다.
엄정재 3달 전
역시 믿고보는 백기선님 강좌입니다. 기본 개념인 JPA를 깊게 알지 못 한 상태에서 Spring Data JPA를 프로젝트에서 사용하게 되어 강좌를 듣게 되었는데, JPA 기본 개념도 많이 설명해 주시고 Spring Data JPA 사용법 및 주의점 등도 자세히 설명해주셔서 프로젝트 진행하는데 많이 도움이 되었습니다. 감사합니다~ 또한, Spring Data JPA 강좌를 듣고 보니, 좀 더 JPA에 대해 깊게 알고싶어져서 공부 중입니다^^ 앞으로도 좋은 강좌 많이 많이 만들어주세요 감사합니다!
서주원 3달 전
정말 알찬 강좌입니다. 핵심 개념부터 차근차근 이해하기 쉽게 설명해주셔서 잘 따라가며 차근차근 배울수 있었습니다. 정말 많은 도움이 됐습니다. 감사합니다.
leedo 4달 전
역시나 도움되는 강의였습니다. 감사합니다.
Song Changsun 4달 전
20년만의 서버사이드 J2EE 가 나오고 JSP 가 소개될 무렵 그때 한참 EJB 로 개발을 하다가 공공기관을거쳐 전자 업계로 이직해서 웹 영역을 손 놓은지 20년 이란 시간이 흘렀네요. 올 추진 과제가 기간계들 연계해서 품질 데이터 크롤링 및 분석인지라 어떻게 시스테을 구축할까 고민하며 이 강의뿐아니라 여타의 것도 듣게 되었습니다. 실무 수준에서부터 아키수준까지 모든게 하나의 프레임위크에 다 들어 있어보여 이런게 요즘. 기술이구나 격세지감을 느낍니다.하지만 시간 날 때마다 다시 들어보니 옛 경험과의 맵핑이 자연스레 되면서 그 격차를 매꾸는 것 같습니다. 또한 강사분의 히든 원 포인트 레슨은 타 강의를 들어본 제게는 너무 귀중한 배움이 되었습니다. 아직 3분의 1이 남아있지만 이미 그 뼈대를 이해한 것 같아 어떤것일지 예측이되기도하고 기대가되기도합니다.웹 세상괴는 담을 쌓고 있었던 함께 일하는 동료들의 러닝커브를 줄여주기 워해서라도 하루빨리 기초 체력을 키워야겠습니다 열정적인 강의 감사합니다 그리고 덕분에 인텔리j 단축키는 마스터해가고 있습나. ㅎㅎ
프리라이프 4달 전
JPA나 Hibernate도 전혀 몰랐던 사람입니다 개념적으로 많은 도움이 됐습니다 JPA나 Hibernate에 대해서 정말 하나도 몰랐던 사람입니다 예전에 어떤회사에서 JPA로 개발된 소스를 보고 정말 멘붕왔던 기억이 있네요 알게되면 정말 좋은 기술인데요 잘 모르고 사용하시는 분들은 ORM에 대한 안좋은 얘기만 하더라구요 그래서 저는 그냥 안좋은 줄만 알고 있었는데 결국은 사람이 알아보기 쉽고 구현하기 쉬운쪽으로 계속해서 기술도 발전 하는 것 같습니다 아마 나중에는 이 JPA 같은 ORM 보다 훨씬 더 편리한 기술이 나오지 않을까 하는 생각이 드네요 JPA 강좌를 보면서 정말 하나하나 다 새로운 거라서 강사님 말씀하나하나 다 적어가면서 봤는데도 한번에 완벽히 이헤하지는 못했습니다 최근에는 Node.js 로 개발을 많이 했는데요 Sequelize.js 와도 비슷한 느낌이 많이 드네요 ORM 또한 또다른 언어라고 봐도 될만큼 정말 방대하고 어려운 기술인 것 같습니다 강사님 강좌 풀세트로 다 보고 있는데 이제 스프링 기반 REST API 개발만 남았습니다 저 강의까지 다보고 별도로 JPA와 스프링, 스프링 부트 책으로 실습도 좀하고 공부좀 하다가 다시한번 쭉 보면 이해가 될 것 같습니다 강의 만들어주셔서 정말 감사하구요 여건이 된다면 Spring Security, OAuth2, 스프링 클라우드, 스프링 마이크로서비스 등에 대한 강의도 좀 다뤄주셨으면 좋을 것 같습니다 좋은 강좌 만들어주셔서 정말 감사합니다~
김동희 4달 전
잘봤습니다. 역시 기선님의 강의는 그저 빛입니다...
AhnnDroid 5달 전
좋은 강의 잘 들었습니다 :) 스프링 데이터 JPA 도입을 고민하던 찰라에 좋은 강의를 만나 나름의 확신을 얻게 되었습니다. 심화 부분은 보다 학습해야겠지만 어느 정도 도입을 결심하는 계기가 되었네요. 감사합니다 :)
차정현 5달 전
Spring + boot + Hibernate + JPA 종합 선물 셋트 어릴적 슈퍼에서 어른들에게 선물 받았던 종합 선물셋트 느낌입니다 JPA 중심으로 두루 두루 연관된 지식을 습득하고 조각으로 머문 지식을 더욱 탄탄하게 할 수 있었습니다 개인 방송에서도 많은 정보를 습득하고 있는데 이렇게 쉽고 재미있게 강좌를 진행해 주셔서 많은 도움이 되었습니다 감사합니다
김민석 5달 전
혹시 Spring Data REST 강좌는 만드실 생각 없으신지? ^^;; 강좌 정말 잘 들었습니다. 이번에 새로 들어가는 프로젝트에서 드디어 마이바티스를 밀어내고 JPA를 도입하게 되었습니다. 덕분이에요^^ 그런데 혹시 Spring Data REST 강좌는 따로 만드실 생각이 없으신지 궁금합니다. 이번에 한번 써보려고 하는데 쉽지가 않네요.. ^^;;
slr과르 6달 전
옆에서 함께 코칭하는 듯한 강의 최고입니다. 이 강좌를 들으면 강사님이 오른쪽 아래 귀퉁이에 나타나십니다. 적응하면 옆에서 진짜 1:1로 과외해주는 듯한 기분입니다. 무엇보다 질문을 하더라도 정말 빠른 피드백으로 답변을 올려주십니다.
darkhorizon 6달 전
좋은 강좌 감사합니다. JPA의 기본적인 개념을 잡을 수 있어서 좋았습니다. 앞으로 다른 자료를 통해서 좀 더 깊은 학습을 해야겠네요. 유투브의 좋은 강좌들도 잘 듣고 있습니다.
김주호 7달 전
너무 좋았습니다. 특히 해당 내용만 설명해주시는 것이 아니라 그걸 사용하기 위해 필요한 백그라운드 지식이나 왜 사용해야 하는지에 대한 원리도 같이 설명해 주신 부분이 좋았습니다. 앞으로도 좋은 강좌 많이 부탁드립니다. 감사합니다.
Jongmin Kim 7달 전
Spring-data-JPA 도큐멘트보다 정확하고 요점만 쏙쏙 알려주는 기선님 강의 Mybatis만 사용하다 JPA로 개발해보려고 기선님 강의 찾아서 들었습니다. 짧은 시간안에 중요한 요점을 잘 전달해주셔서, 빠르게 습득한 듯 합니다. 이미 스프링부트는 친숙했고, JPA도 오래전에 읽었지만, 기선님 강의만큼 이해가 빠른 매체가 없었습니다. 빠르면 주말 토,일만 투자해서 4시간 반씩 2일동안 강좌를 모두 수강 할 수 있기 때문에, 바쁜 직장인 분들에게 추천 드립니다. 빠르게 이해하시려면 그래도 기본적으로 SQL과 스프링 부트를 모두 알고 있는 상태여야 빠르게 이해하실 거라 생각 합니다. 쉬엄 쉬엄 2주만에 모두 수강하고 갑니다. 감사합니다.
김대희 김 8달 전
JPA 꼭 들어볼만한 강좌 Ibatis나 Mybatis만 한 저에게는 매우 도움 되는 강좌였습니다 . 감사합니다.
김호균 8달 전
말이 필요합니까? 우선 보세요! ^^ 기선님 강의는 우선 너무나 편안한 강의 입니다. 자연스럽죠. 그래서 옆에서 알려주는것 같은 기분이 듭니다. 강의라는 생각이 안들고(내용이 그렇다는게 아닙니다.!) 잘 아는 형이 혹은 친구가 알려주는 듯한! 정말 좋습니다.
김성남 9달 전
스프링 초심자가 들어본 jpa강의 저는 거꾸로 시작을 했네요 ㅋㅋㅋ 스프링 맛만 본 상태에서 Spring JPA강좌를 들었는데, 강좌 자체는 아주 좋았습니다. 스프링boot JPA, Common의 기능들을 하나하나 예시 코드를 작성하면서 알려주시고 뒤에서 어떤 기능들이 돌아가고 있어서 이렇게 쓰는 건지 상세히 알게 되어서 좋았습니다. 다만 저는 초심자라 이해하는 정도가 낮았고 스프링, 스프링 부트를 좀 더 배운 다음에 다시 복습해 봐야할 것 같네요. 좋은 강의 볼 수 있는 기회를 주셔서 감사합니다 !
java_oop 9달 전
JPA 입문자에게 좋은 강의인거 같습니다. 입문자에게 좋은 강의인거 같습니다. 특히 ORM의 본질적인 이유인 패러다임 불일치 부분으로 시작하는 부분도 좋았다고 생각합니다. 강의도 부탁드립니다. 점점 학습자료들이 많아서 너무 좋습니다.
Yongin Jo 9달 전
잘봤습니다. 띄엄띄엄 대충 알던거를 명확하게 알게됐습니다. 앞으로도 좋은 강좌 부탁합니다.