스프링 데이터 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)를 사용해서 개발하는 것을 좋아하며 온라인에서 강좌를 만들거나 유투브에 코딩 관련 동영상을 올리며 학습하고 또 공유하고 있습니다.

강좌 평가

5

5 개의 수강평
  • 5 점5
  • 4 점0
  • 3 점0
  • 2 점0
  • 1 점0
  1. 김대희의 프로필 사진

    JPA 꼭 들어볼만한 강좌

    5

    Ibatis나 Mybatis만 한 저에게는 매우 도움 되는 강좌였습니다 . 감사합니다.

  2. 김호균의 프로필 사진

    말이 필요합니까? 우선 보세요! ^^

    5

    기선님 강의는
    우선 너무나 편안한 강의 입니다.
    자연스럽죠.
    그래서 옆에서 알려주는것 같은 기분이 듭니다.
    강의라는 생각이 안들고(내용이 그렇다는게 아닙니다.!) 잘 아는 형이 혹은 친구가 알려주는 듯한!
    정말 좋습니다.

  3. 김성남의 프로필 사진

    스프링 초심자가 들어본 jpa강의

    5

    저는 거꾸로 시작을 했네요 ㅋㅋㅋ 스프링 맛만 본 상태에서 Spring JPA강좌를 들었는데, 강좌 자체는 아주 좋았습니다. 스프링boot JPA, Common의 기능들을 하나하나 예시 코드를 작성하면서 알려주시고 뒤에서 어떤 기능들이 돌아가고 있어서 이렇게 쓰는 건지 상세히 알게 되어서 좋았습니다. 다만 저는 초심자라 이해하는 정도가 낮았고 스프링, 스프링 부트를 좀 더 배운 다음에 다시 복습해 봐야할 것 같네요. 좋은 강의 볼 수 있는 기회를 주셔서 감사합니다 !

  4. java_oop의 프로필 사진

    JPA 입문자에게 좋은 강의인거 같습니다.

    5

    입문자에게 좋은 강의인거 같습니다.

    특히 ORM의 본질적인 이유인 패러다임 불일치 부분으로 시작하는 부분도 좋았다고 생각합니다.

    강의도 부탁드립니다. 점점 학습자료들이 많아서 너무 좋습니다.

  5. Yongin Jo의 프로필 사진

    잘봤습니다.

    5

    띄엄띄엄 대충 알던거를 명확하게 알게됐습니다. 앞으로도 좋은 강좌 부탁합니다.

강좌 교육과정

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

우리는 성장기회의 평등 을 추구합니다.

경제적, 시간적 제약없는 양질을 교육으로 누구나에게 성장 기회를 균등하게 주는것. 그것이 우리의 목표입니다.

지식공유참여 고객센터
top
(주)인프랩 | 대표자:이형주 | TEL:070-4202-1180 | E-MAIL: course@inflearn.com | 사업자번호:499-81-00612
주소:성남시 분당구 삼평동 대왕판교로 645번길 12 경기창조경제혁신센터 8층 R19 | 개인정보보호책임자:이형주
통신판매업:2017-서울강남-01544 | ©INFLAB. ALL RIGHTS RESERVED