Inflearn brand logo image
Inflearn brand logo image
BEST
Programming

/

Back-end

Java ORM標準JPAプログラミング - 基本編

初めてJPAに触れたり、実務でJPAを使用したりして基本理論が足りない方 JPAの基本理論をしっかりと学習することで、初心者でも実務で自信を持ってJPAを使用することができます。

Java
JPA

初級者のための講座です。

こんなことが学べます

  • JPAの基礎をしっかりと固めることができます。

  • JPAの内部動作方法を理解することができます。

  • オブジェクトとDBテーブルを正しく設計してマッピングできます。

  • 実務で自信を持ってJPAを使用できます。

実務でも自信を持って書くJPA!
格別なJPA基礎の第一歩を切り離してみてください。

🚩この講義はロードマップコースです。

  • 本講義はJavaバックエンド開発実践コースを始める最初講義です。

Java ORM標準JPAプログラミング - 基本編

オブジェクトをリレーショナルデータベースに保存するには、開発者は多くのコードとSQ​​Lを作成する必要があります。たとえば、オブジェクトをSQLに変換する単純な日から、オブジェクトの継承構造をテーブルに格納するのが複雑なことまで、開発者はオブジェクトとデータベースの間に無数のマッピングコードとSQ​​Lを直接作成する必要があります。

Java ORM標準であるJPAは、SQLを作成せずにオブジェクトをデータベースに直接保存するのに役立ち、オブジェクトとリレーショナルデータベースの違いも途中で解決します。

Java ORM標準JPAとは何ですか?

JPA

  • Java Persistence API
  • Java陣営のORM標準技術

ORM

  • Object-relational mapping (オブジェクト関係マッピング)
  • オブジェクトはオブジェクトとして、リレーショナルDBはリレーショナルDBとして設計されています
  • ORMフレームワークが中間からマッピング
  • オブジェクトをORMフレームワークに保存すると、ORMフレームワークはSQLを生成してオブジェクトをDBに管理します。
  • 一般的な言語にはほとんどORM技術があります

JPAを使用する理由

  • SQL中心の開発からオブジェクト中心への開発
  • 開発生産性の向上
  • メンテナンスの便宜
  • パラダイムの不一致を解決
  • パフォーマンスの向上
  • データアクセスの抽象化とベンダーの独立性
  • Java ORM標準技術

オンライン講義
始めた理由

私はこれまで様々な実務プロジェクトにJPAを導入してきました。小規模なのは、単純なWebサービスから大幅には、粗単位の取引金額を処理する注文 - 決済 - 決済システムまで、JPAで直接設計および開発しました。 JPAを初めて実務に導入する際には、左右の衝突もしたが、開発の生産性とメンテナンスが確実に良くなり、残りの時間にコードの品質とテストに多くの時間を費やすことができました。何よりも、JPAを使った同僚は以前に戻りたくなかった。

しかし、JPAに関する国内資料が不足しており、ほとんどが願書であり難しい点が多かったので、2015年に直接JAVA ORM標準JPAプログラミング本を書いて、それから4年が流れました。

これまでネイバー、カカオのようなインターネットビジネス会社からエレガントな兄弟たち、11番街ようなeコマース会社まで、JPAを既に使用中や導入しようとする多くの会社に講演をしました。簡単に理解できるという開発者の方が多かったので、オンライン講義を作ることになりました。


基礎がしっかり
JPA基本編

今後進むJPA講義は大きく基本編と活用編に分かれています。

講義目標

JPAの内部動作の仕方を理解しておらず、単に便利であるため、JPAを導入する人をよく見ました。実務では、本当に多様で複雑な問題が発生します。この時、根本原理を知らないと、多くの時間と費用を無駄にすることになります。そして、JPAでオブジェクトとリレーショナルデータベースを設計してマッピングするとき、どのような方法が良いのか分からないと少し複雑になってもさまようことになります。

したがって、JPAをうまく使用するには、次の2つを深く理解する必要があります。

  • JPAの内部動作方式
  • オブジェクトとリレーショナルデータベーステーブルを正しくマッピングする方法

基本編はこの2つに焦点を当てました。基礎をしっかりとして実務でJPAを使用しても恐れずに使用できるようにすることがこの講義の目標です。

活用編

本当! Spring BootとJPAの活用1 - Webアプリケーション開発
Spring BootとJPAで実際のWebアプリケーションを設計および開発します。

本当! Spring BootとJPAの活用2 - API開発とパフォーマンスの最適化
JPAは極端なパフォーマンスを最適化する方法を学ぶことができます。

本当! Spring Data JPA
基礎から実務まで、Spring Data JPAを学びます。

本当! Querydsl
Querydslを介して複雑なクエリと動的クエリの問題を解決します。

参考書

本はより深い内容を勉強したい人のために
参考書と考えてください。
(本がなくても講義のための別途資料が提供されます。)


こんな方に
おすすめです!

学習対象は
誰でしょう?

  • JPAを初めてご利用の方

  • JPAを実務で使用していますが、基本原理を理解したい方

前提知識、
必要でしょうか?

  • JAVA言語

  • リレーショナルデータベースの基礎知識

こんにちは
です。

532,664

受講生

33,454

受講レビュー

8,860

回答

5.0

講座評価

22

講座

진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.

 

저의 개발 인생 이야기

EO 인터뷰 영상

개발바닥 - 시골 청년 개발왕 되다

취업과 이직에 대한 고민 해결

 

カリキュラム

全体

56件 ∙ (16時間 3分)

講義資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

1,873件

5.0

1,873件の受講レビュー

  • 향로님의 프로필 이미지
    향로

    受講レビュー 3

    平均評価 5.0

    5

    9% 受講後に作成

    현업에서 실제로 JPA로 개발을 하고 있습니다. 그런 입장에서보면 지금 작성하고 있는 코드들이 어떻게 작동하는지 이해하는데 큰 도움을 주는 강의입니다. 다음은 제가 느낀 이 강의의 장점들입니다. 강의 수강을 고민하시는 분들은 참고해보시면 좋을것 같아 남깁니다. 1) 발표 장표가 잘 준비되어 있어 참고하면서 보기에 좋았습니다. - 책이 없더라도 준비된 발표 자료를 다운받아 볼수 있습니다. 2) Spring Data Jpa를 *처음부터 쓰지 않고*, 순수 자바 어플리케이션에서부터 시작하여 최신의 스프링부트를 쓴 사람들이 아니더라도 JPA와 ORM에 대한 이해도를 높이는데 도움이 됩니다. 3) Java 강사로 다년간 활동을 해보신분 답게 설명이 정말 이해하기 쉽습니다. 주변에 JPA에 대해 고민하는 분들이 계신다면 주저없이 추천할 강의입니다.

    • 김영한
      知識共有者

      이동욱님 고맙습니다. 저도 IntelliJ 강의 잘 듣고 있습니다^^

  • 석민님의 프로필 이미지
    석민

    受講レビュー 2

    平均評価 5.0

    5

    93% 受講後に作成

    K-개빈 킹 이 수식어가 어울리는 강사, 대한민국에서 사투리가 가장 섹시한 강사, 내 프로젝트에 의존성으로 추가하고 싶은 강사 강의결제를 고민하는 분들께 1) 너무 훌륭한 강의입니다. 무엇보다 "아 이부분 좀 어려운데?" 라고 생각하는 순간 초보자도 이해하기 쉽게 설명해줍니다. 누군가는 '어? 강의면 당연히 그래야되는거 아닌가?' 라고 생각할 수 있지만, 그건 교육학을 들은 '교육자'분들도 쉽게 가질 수 없는 능력입니다. 많은 강의 노하우와 제자들과의 커뮤니 케이션의 스택이 높지 않다면 불가능합니다. 2) 강의 톤이 너무 좋습니다. 사실 딱딱하고 감정이 전혀 이입되지 않은 대본을 읽는 강의는 수업을 듣는 사람으로 하여금 지루함을 느낄 수 있습니다. 하지만 이 강의는 다릅니다. 중간중간 흘러나오는 사투리와, 강사님이 JPA와 물아일체 되면서 톤이 높아지실 때 강의를 듣는 여러분들도 어느순간 K-개빈킹 3) 질문에 대한 피드백이 정확하고 빠르다. 궁금한 점에 대해서, 여러분들이 정확히 어떤 부분이 궁금하다고 명시한다면, 최대한 자세히 설명을 해주십니다. 사실 이 3개의 강의평은 강의에 대한 평도 있지만, 책에대해서도 느낀점이 많습니다. 제 개인적인 생각으로는 책을 쓰면서 독자들에게 쉽게 읽히고, 이해하기 편한 그리고 무엇보다 'JPA에 깊은 생각'을 하게 해주려고 많은 노력을 했을 것 같습니다. 만약 책을 구매하시고 강의를 들으신다면, 책을 먼저 보고, 정말 어렵고 혼자서 이해하기가 너무 어렵다 하면, 원하는 부분의 강의 섹터를 찾아서 보는 게 저는 더 효과적이라고 생각합니다. 생각을 할 수 있게 도와주는 강의입니다.

    • 김영한
      知識共有者

      석민님 진심으로 고맙습니다. 장문의 수강평에 눈물이 주룩 ㅠㅠ 10년도 더 전에 국내에 JPA를 사용하는 개발자 분들이 거의 없어서, 이 좋은 기술을 너무 알리고 싶다는 열정이 가득했던 기억이 납니다. 왜 해외에서는 거의 JPA만 사용하는데, 국내에서는 그렇지 않을까? 그렇게 고민하다가, 결국 국내에서는 이 기술을 쓰고 싶어도, 제대로 된 책이나 교육 자료가 없다는 생각을 하게 되었고, 결국 7년 전에 JPA책을 쓰기 시작했습니다. JPA 책쓰는데 2년, 인프런 JPA 강의 코스 만드는데 1년 해서 총 3년 정도는 JPA 기술 보급을 위해서 시간을 보냈습니다. 지금은 정말 많은 회사에서 JPA를 기본으로 사용하고 있어서 그때 한 노력들이 참 보람있습니다. 석민님이 저의 그런 노력을 알아주셔서 참 기쁘네요. ㅠㅠ

  • kingbbode님의 프로필 이미지
    kingbbode

    受講レビュー 3

    平均評価 5.0

    5

    91% 受講後に作成

    JPA 를 공부하고 책을 보며 어려웠던 내용을 위주로 먼저 보았습니다. 옆에서 1:1 과외해주는 것 같이 생생하고 이해 잘되는 설명, 예제(코드)가 너무 좋았습니다. 어느 것 하나 애매함없이 모두 명확하게 답과 팁을 제시하고, 무엇보다 실무 경험이 반영된 좋은 내용까지 너무 감사합니다. 앞으로도 꾸준히 학습해보겠습니다. 감사합니다.

    • 김영한
      知識共有者

      kingbbode님 고맙습니다. 꾸준히 학습하시고, 궁금한 내용이 있으면 언제든지 편하게 질문해주세요^^!

  • 이주현님의 프로필 이미지
    이주현

    受講レビュー 4

    平均評価 5.0

    5

    6% 受講後に作成

    회사땜에 매일 바쁜 와중에 학원이라도 다닐까 생각했는데 마침 JPA 강의가 생겨서 꿀 타이밍이네요. 저는 이 전에 JPA 책을 보고 공부 했었는데요 궁금했던 점, 업무에 적용하며 고민하고 해결하지 못했던 부분들이 있었습니다. 이게 맞나? 저게 맞나? 반신반의하며 적용했던 부분들.. 그런데! 이 강의에서 이런 궁금증들을 모두 해결해주셨습니다. ㅠㅠ(감동) 특히! 직접 라이브 코딩하는 부분도 보여주시기 때문에 많은 분들이 현업에서 JPA를 적용하는데 더 와 닿을 것 같습니다. 지금은 회사에서 진행하는 신규 프로젝트에 무조건! JPA를 사용하고 있습니다. 회사에서 수강료를 지원하기 때문에 팀원들도 이 강의를 들을 수 있도록 독려하려고 합니다. 정말 감사합니다 ㅠㅠ

    • 김영한
      知識共有者

      이주현님 고맙습니다. 신규 프로젝트에 무조건! JPA를 적용하시는 군요. 사실 저도 관계형 데이터베이스를 사용하면 항상 적용하고 있습니다. 중간에 궁금한 내용이 있으면 언제든지 편하게 질문 주세요^^

  • 맑은요정님님의 프로필 이미지
    맑은요정님

    受講レビュー 11

    平均評価 5.0

    5

    100% 受講後に作成

    저는 야생형이 아니라 학자형인가봐요^^ 활용편 넘어갔다 30% 정도 듣고 도저히 답답해서 기본편을 들어버렸네요^^. 한주 한주 김영한님 강의 들으니 렙업되는 모습을 스스로 느낍니다. 특히 실무에서 사용해야하는 것과 필요 없는 부분을 과감히 정리해주시는 부분이 너무 좋은 것 같아요. 이제는 정말 활용편을 자신있게 넘어갈 수 있을 것 같습니다. 대한민국 JPA의 기본서는 김영한님 강좌와 책으로 명시적 선언 되었습니다.^^ 감사합니다.

    • 김영한
      知識共有者

      ㅎㅎ 잘 판단하셨습니다. 사실 제가 학자형 스타일인데, 최근에는 야생형이 되려고 많이 노력하고 있습니다^^ JPA가 매우 오랜기간 발전하면서, 너무 다양한 케이스까지 지원하다 보니, 공부하려면 한도 끝도 없어서 저도 처음에는 많이 힘들었습니다. 그런데 실무에서 막상 개발을 해보니까. 중요한게 딱 정해져 있더라구요^^ 그 부분을 최대한 강의에 많이 녹였습니다. 책은 JPA 자체를 전반적으로 다 다루어야 해서 더 넓은 범위를 다루고 있습니다. 열심히 노력하시는 모습을 보니 저도 뭔가 뿌듯하네요. ㅎㅎ 맑은요정님 화이팅!

yhの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!