آموزش Spring Boot Data JPA و Hibernate: از مبانی تا پیشرفته - آخرین آپدیت

دانلود Spring Boot Data JPA & Hibernate: Master Basics to Advance

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

ساخت اپلیکیشن‌های قدرتمند با هیبرنیت، اسپرینگ بوت، جاوا و JPA: راهنمای جامع

در این دوره، شما در روابط موجودیت (Entity Relations)، JPQL و یکپارچه‌سازی چند پایگاه داده تخصص پیدا خواهید کرد.

تسلط بر ORM هیبرنیت (Hibernate ORM):

برای پایداری کارآمد داده، کشینگ (caching) و مدیریت تراکنش‌ها در اپلیکیشن‌های اسپرینگ بوت (Spring Boot)، ORM هیبرنیت را درک و پیاده‌سازی کنید.

متخصص JPA شوید:

اصول JPA شامل EntityManager، کانتکست‌های پایداری (persistence contexts) و چرخه حیات را بیاموزید و شما را قادر می‌سازد لایه‌های پایداری جاوا (Java persistence layers) قوی و قابل حمل بسازید.

نقشه‌برداری مدل‌های داده پیچیده:

در روابط یک-به-یک، یک-به-چند، چند-به-چند و استراتژی‌های وراثت (SINGLE_TABLE, JOINED, TABLE_PER_CLASS) با استفاده از JPA تخصص پیدا کنید.

مانند یک حرفه‌ای کوئری بزنید:

کوئری‌های پیشرفته JPQL و Criteria API را برای بازیابی داده‌های نوع-امن (type-safe) و پویا، همراه با صفحه‌بندی (pagination) و مرتب‌سازی در Spring Data JPA بنویسید.

یکپارچه‌سازی چند پایگاه داده:

پایگاه‌های داده H2، MySQL، PostgreSQL و Oracle را با اسپرینگ بوت (Spring Boot) پیکربندی و بهینه‌سازی کنید، شامل مدیریت شمای (schema) پایگاه داده.

پیش‌نیازها:

دانش پایه از اسپرینگ بوت (Spring Boot) و تمایل قوی برای تسلط بر JPA.

تسلط بر هیبرنیت و JPA با اسپرینگ بوت – یک دوره جامع و عملی از EmbarkX

EmbarkX سفری قطعی به دنیای هیبرنیت (Hibernate)، JPA و اسپرینگ بوت (Spring Boot) را ارائه می‌دهد – طراحی شده برای توسعه‌دهندگان جاوا (Java developers) که قصد ساخت اپلیکیشن‌های با عملکرد بالا و قابل نگهداری را دارند. در این برنامه جامع، با مقدمه‌ای بر هیبرنیت و نحوه کار آن آغاز می‌کنید، که مفاهیم اصلی نقشه‌برداری شی-رابطه‌ای (ORM)، مدیریت سشن (session management) و تراکنش‌ها را پوشش می‌دهد. از آنجا، به درک پروژه ما وارد می‌شوید، جایی که یک اپلیکیشن اسپرینگ بوت را راه‌اندازی می‌کنید که به عنوان ستون فقرات تمام تمرین‌های عملی عمل می‌کند.

سپس، مقدمه‌ای بر JPA و مبانی پایداری در جاوا را بررسی می‌کنید و درباره مشخصات JPA، EntityManager، کانتکست‌های پایداری (persistence contexts) و نحوه استانداردسازی دسترسی به داده توسط JPA می‌آموزید. با یک قدم به عقب – بررسی زیرساخت‌ها، وضوح کاملی در مورد تفاوت‌های بین APIهای بومی هیبرنیت و لایه JPA به دست می‌آورید و اطمینان حاصل می‌کنید که هم بهینه‌سازی‌های عملکردی و هم قابلیت حمل در پیاده‌سازی‌های مختلف JPA را درک می‌کنید.

در ادامه، نقشه‌برداری مدل‌های داده واقعی با روابط را می‌آموزید، که به ارتباطات یک-به-یک، یک-به-چند، چند-به-یک و چند-به-چند می‌پردازد. به انواع انوتیشن‌های JPA که باید از آنها آگاه باشید، از جمله انوتیشن‌هایی مانند @Entity، @Table، @Id، @GeneratedValue، @Column، @Embedded و تکنیک‌های پیشرفته نقشه‌برداری مسلط شوید. همچنین وراثت با JPA را پوشش می‌دهید و استراتژی‌هایی مانند SINGLE_TABLE، JOINED و TABLE_PER_CLASS را برای مدل‌سازی مؤثر سلسله‌مراتب کلاس‌ها پیاده‌سازی می‌کنید.

بخش کوئری‌نویسی و Criteria API، JPQL، کوئری‌های نام‌گذاری شده و کوئری‌های پویا را معرفی می‌کند. یاد می‌گیرید که چگونه داده‌ها را به طور کارآمد واکشی کنید و کوئری‌های نوع-امن (type-safe) را بدون نوشتن SQL خام بسازید. در نهایت، پایگاه‌های داده مختلف با اسپرینگ بوت، پیکربندی پایگاه‌های داده رابطه‌ای مختلف – H2، MySQL، PostgreSQL – را نشان می‌دهد و نحوه تغییر منابع داده را به شما می‌آموزد.

در پایان این دوره، شما قادر خواهید بود:

  • با اطمینان از انوتیشن‌های هیبرنیت (Hibernate) و Spring Data JPA استفاده کنید.

  • روابط موجودیت پیچیده و نقشه‌برداری‌های وراثت را بسازید.

  • کوئری‌های پیشرفته JPQL و Criteria API بنویسید.

  • اپلیکیشن اسپرینگ بوت خود را با چندین موتور پایگاه داده یکپارچه کنید.

به EmbarkX بپیوندید تا قدرت هیبرنیت (Hibernate)، JPA و اسپرینگ بوت (Spring Boot) را آزاد کنید و تخصص جاوا (Java) خود را برای ساخت اپلیکیشن‌های واقعی و سازمانی ارتقا دهید!


سرفصل ها و درس ها

Course Introduction

  • مقدمه دوره Course Introduction

  • مخزن دوره و یادداشت‌ها Course Repository and Notes

  • سوپرایز! Surprise!

آشنایی با Hibernate و نحوه کار آن؟ Introduction to Hibernate and How it works?

  • آشنایی با ORM؟ Introduction to ORM?

  • Hibernate چیست؟ What is Hibernate?

  • پایگاه داده H2 H2 database

  • معماری Hibernate Hibernate Architecture

  • پیکربندی Hibernate (راه اندازی دستی) Hibernate Configuration (Manual Setup)

  • پشت صحنه Behind the Scenes

  • درک JPA Understanding JPA

  • انتقال پروژه ما به JPA (Jakarta Persistence API) Transition our Project to JPA (Jakarta Persistence API)

  • مرور آنچه تاکنون آموخته‌ایم Reviewing What We Have Learned So Far

  • Spring Boot و JPA Spring Boot and JPA

  • Spring Boot Starter Data JPA Spring Boot Starter Data JPA

آشنایی با JPA و مبانی Persistence در جاوا Introduction to JPA and Foundations of Persistence in Java

  • راه اندازی پروژه ما Setting Up Our Project

  • درک خودکار-پیکربندی Spring Boot Understanding Spring Boot Auto‑Configuration

  • پیکربندی پایگاه داده H2 In-Memory Configure H2 In-Memory Database

  • درک موجودیت‌ها (Entities) در JPA Understanding Entities in JPA

  • استراتژی‌های کلید اصلی Primary Key Strategies

  • ریپازیتوری‌های JPA JPA Repositories

  • ذخیره بیماران Saving Patients

  • یافتن بیماران Finding Patients

  • به روز رسانی و حذف بیماران Updating and Deleting Patients

  • آزمایشگاه: سیستم کاتالوگ کتاب Lab: Book Catalog System

یک گام به عقب - بررسی جزئیات درونی Taking a Step Back - Exploring Under the Hood

  • مقدمه بخش Section Introduction

  • آشنایی با Entity Manager Introduction to Entity Manager

  • وضعیت‌های Entity Manager و PersistenceContext EntityManager States and PersistenceContext

  • پایدارسازی موجودیت‌ها (Entities) Persisting Entities

  • استثنای EntityExistException EntityExistException

  • موجودیت‌های مدیریت شده (Managed Entities) چیستند؟ What are Managed Entities

  • جدا کردن موجودیت‌ها (Entities) Detaching Entities

  • استفاده از contains() برای بررسی وضعیت مدیریت شده Using contains() to Check Managed Status

  • یافتن موجودیت‌ها (Entities) Finding Entities

  • استفاده از getReference() برای واکشی تنبل (Lazy Fetching) Using getReference() for Lazy Fetching

  • استفاده از merge() Using merge()

  • حذف موجودیت‌ها (Entities) Deleting Entities

  • پاک کردن (Clear) و فلاش کردن (Flush) Clear and Flush

  • استفاده از refresh() برای بارگذاری مجدد از پایگاه داده Using refresh() to Reload from Database

نگاشت مدل‌های داده دنیای واقعی با روابط Mapping Real‑World Data Models with Relationships

  • کار با چندین موجودیت / روابط Working with Multiple Entities / Relationships

  • سازماندهی مجدد پکیج‌ها Reorganizing Packages

  • رابطه یک به یک One To One Relationship

  • رابطه یک به یک دوطرفه One To One Relationship Bidirectional

  • روابط یک به چند - مروری مفهومی One to Many Relationships - Conceptual Overview

  • پیاده سازی رابطه چند به یک Many to One Relationship Implementation

  • روابط یک به چند و چند به یک دوطرفه Bidirectional One to Many & Many to One Relationships

  • تکنیک‌های Cascade Cascading Techniques

  • CascadeType.Persist CascadeType.Persist

  • CascadeType.REMOVE CascadeType.REMOVE

  • CascadeType.MERGE CascadeType.MERGE

  • CascadeType.ALL CascadeType.ALL

  • رابطه چند به چند Many to Many Relationship

  • FetchTypes FetchTypes

  • درک FetchTypeهای پیش فرض Understanding Default FetchTypes

  • بازنویسی FetchTypeهای پیش فرض Overriding Default FetchTypes

  • کلیدهای مرکب (Composite Keys) - یک مقدمه Composite Keys - An Introduction

  • آزمایشگاه: سیستم مدیریت دوره‌های دانشگاهی Lab: University Course Management System

انوتیشن‌های JPA که باید از آن‌ها آگاه باشید JPA Annotations You Should Be Aware Of

  • @Embeddable و @Embedded چیستند؟ What is @Embeddable and @Embedded?

  • پیاده‌سازی @Embeddable و @Embedded Implementing @Embeddable and @Embedded

  • کلیدهای مرکب (Composite Keys) چیستند؟ What are Composite Keys?

  • پیاده‌سازی کلید مرکب از طریق @IdClass Implementing Composite Key via @IdClass

  • مرور تغییرات تاکنون Reviewing Changes So Far

  • تنظیم Doctor.java و Patient.java برای ناوبری دوطرفه Adjust Doctor.java and Patient.java for bidirectional navigation

  • پر کردن داده‌ها و درک آن‌ها Populating Data and Understanding

  • پیاده‌سازی کلید مرکب از طریق @EmbeddedId Implementing Composite Key via @EmbeddedId

  • انوتیشن @Table @Table Annotation

  • انواع تولید ID +ID Generation Types

  • انوتیشن @Column @Column Annotation

  • ذخیره سازی اشیاء بزرگ در پایگاه داده با @Lob Storing Large Objects in Database with @Lob

  • علامت‌گذاری فیلدها به عنوان موقت در JPA — تسلط بر @Transient Marking Fields as Temporary in JPA — Mastering @Transient

  • اعمال داده‌های تمیز: تسلط بر Enums و @Enumerated در JPA Enforcing Clean Data: Mastering Enums and @Enumerated in JPA

  • زمان‌های مدرن در JPA: پر کردن خودکار با Java 8 Time API Modern Timestamps in JPA: Auto-Populate with Java 8 Time API

  • قفل‌گذاری خوشبینانه (Optimistic Locking) در JPA با @Version: جلوگیری از به روز رسانی‌های از دست رفته Optimistic Locking in JPA with @Version: Preventing Lost Updates

وراثت با Spring Data JPA | Hibernate Inheritance with Spring Data JPA | Hibernate

  • آشنایی با وراثت و نیاز به آن Introduction of Inheritance and Need

  • مشکل در پروژه ما و راه حل با وراثت Problem in Our Project and Solution with Inheritance

  • استراتژی‌های وراثت Inheritance Strategies

  • پیاده‌سازی استراتژی JOINED در کد Implement JOINED Strategy in Code

  • پیاده‌سازی استراتژی SINGLE_TABLE در کد Implement SINGLE_TABLE Strategy in Code

  • پیاده‌سازی استراتژی TABLE_PER_CLASS در کد Implement TABLE_PER_CLASS Strategy in Code

کوئری‌نویسی و Criteria API Querying and the Criteria API

  • آشنایی و نیاز به JPQL Introduction and Need for JPQL

  • کوئری‌های پایه در JPQL Basic Queries in JPQL

  • کوئری‌های تایپ‌شده و بدون تایپ Typed and Untyped Queries

  • پارامترهای کوئری Query Parameters

  • ترجمه آموخته‌ها به Repository Translating Learnings to Repository

  • استخراج کوئری (Query Derivation) Query Derivation

  • عبارات شرطی Conditional Expressions

  • مرتب سازی نتایج Sorting Results

  • Joinها در JPQL Joins in JPQL

  • تجمیع و گروه بندی Aggregation and Grouping

  • به روز رسانی و حذف (عملیات گروهی) Update and Delete (Bulk Operations)

  • عبارات سازنده (Constructor Expressions) Constructor Expressions

  • کوئری‌های نام‌گذاری شده (Named Queries) Named Queries

  • آزمایشگاه — بینش‌های سفارش با JPQL Lab — Order Insights with JPQL

مدیریت تراکنش Transaction Management

  • تراکنش چیست؟ What is a Transaction?

  • بدون تراکنش چه اتفاقی می‌افتد؟ What Happens Without Transactions?

  • شبیه سازی یک شکست | داشتن داده‌های ناسازگار Simulating a Failure | Having Inconsistent Data

  • نحوه استفاده از تراکنش‌ها در Spring JPA How to Use Transactions in Spring JPA

پایگاه داده‌های مختلف با Spring Boot Different Databases with Spring Boot

  • پایگاه داده‌های مختلف و جادوی JPA Different Databases and Magic of JPA

  • نصب MySQL در ویندوز Installing MySQL on Windows

  • نصب MySQL در مک Installing MySQL on Mac

  • رابط MySQL MySQL Interface

  • پیکربندی برنامه برای کار با MySQL Configuring Application to Work With MySQL

  • نصب PostgreSQL در ویندوز Installing PostgreSQL on Windows

  • Postgres و PgAdmin Postgres and PgAdmin

  • پیکربندی برنامه برای کار با PostgreSQL Configuring Application to work with PostgreSQL

در مصاحبه موفق شوید | شبیه سازی شغل JPA و Hibernate Ace the Interview | JPA & Hibernate Job Simulation

  • مصاحبه آزمایشی: طراحی و کوئری‌نویسی مانند یک حرفه‌ای JPA Mock Interview: Design & Query Like a JPA Pro

پاداش دوره Course Bonus

  • پاداش دوره Course Bonus

نمایش نظرات

آموزش Spring Boot Data JPA و Hibernate: از مبانی تا پیشرفته
جزییات دوره
16 hours
105
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
613
4.4 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Faisal Memon Faisal Memon

من بیش از 12 سال تجربه ساخت محصولات جهانی دارم که توسط میلیون ها کاربر در سراسر جهان استفاده می شود. من عاشق تکنولوژی و آموزش آن هستم. در حال حاضر، من در یکی از استارت‌آپ‌های پرسرعت در هند به سمت Product هستم و از لحظه لحظه آن لذت می‌برم. قبل از او، چند استارت‌آپ ایجاد کردم که بیش از نیم میلیون کاربر در سراسر جهان داشتند، از Google + سایر سرمایه‌گذاران کمک مالی جمع‌آوری کردم و بخشی از Google Launchpad Accelerator بودم. من در ساخت محصولات از ابتدا و مقیاس بندی تا کاربران جهانی تجربه دارم. من اینجا هستم تا دانش خود را با جویندگان به اشتراک بگذارم و به رشد شخصی و حرفه ای آنها کمک کنم. از دیدنت خوشحالم :)

EmbarkX Official EmbarkX Official

جاوا، پایتون، بوت بهار، فناوری های پایگاه داده، MongoDB