Mastering Spring Data JPA From Basics to Advanced

The full guide to master Spring Data JPA step by step
Mastering Spring Data JPA From Basics to Advanced
File Size :
1.75 GB
Total length :
4h 48m





Last update




Mastering Spring Data JPA From Basics to Advanced

What you’ll learn

Setting up your development environment
Exploring Spring Data JPA fundamentals
Mastering repositories and the entity lifecycle
Unraveling entity relationships
Understanding inheritance
Leveraging embedded IDs and entities
Querying data
Named queries

Mastering Spring Data JPA From Basics to Advanced


No programming experience is required


Course descriptionEmbark on a comprehensive journey through the world of Spring Data JPA, and become an expert in creating high-performance, data-driven applications. This in-depth course is tailored for developers seeking to master Spring Data JPA, covering everything from basic concepts to advanced techniques. By enrolling in this course, you will unlock the full potential of Spring Data JPA and gain the confidence to tackle complex real-world challenges.Key topics covered in this course include:Setting up your development environment: Learn how to connect to MySQL and PostgreSQL databases using Docker, ensuring a smooth and practical learning experience.Exploring Spring Data JPA fundamentals: Dive into the core concepts of Spring Data JPA, including entities, primary keys, generation types, columns, and tables. Get hands-on experience through practical examples that solidify your understanding of these essential annotations.Mastering repositories and the entity lifecycle: Understand the repository hierarchy, entity lifecycle, and how to leverage the power of Spring Data JPA to manage your data efficiently.Unraveling entity relationships: Delve into various relationship types, such as one-to-one, one-to-many, and many-to-many, while learning best practices for modeling and managing complex relationships between entities.Understanding inheritance: Gain a deep understanding of inheritance strategies in Spring Data JPA and how to model and query hierarchical data effectively.Leveraging embedded IDs and entities: Discover how to use embedded IDs and entities to model composite primary keys and embeddable types, enhancing the reusability and maintainability of your code.Querying data: Master the art of querying data using various techniques, including JPQL, native SQL queries, and the Criteria API.Named queries: Learn how to use named queries for better organization, maintainability, and performance optimization.Specification: Unlock the full potential of Spring Data JPA Specifications to create dynamic and type-safe queries, which can be combined and reused for ultimate flexibility and maintainability.This comprehensive course is designed to provide you with the knowledge and skills necessary to excel in your career as a Spring Data JPA developer. With a balanced mix of theory, hands-on examples, and best practices, you will be well-equipped to create efficient and scalable applications using Spring Data JPA. Enroll today and take the first step towards becoming a Spring Data JPA expert!


Section 1: Bootstrap the course

Lecture 1 Setup Postgres DB server (Docker image)

Lecture 2 Setup MySQL DB server (Docker image)

Lecture 3 Create a new Spring boot project

Lecture 4 Setup the DB and create a new schema (Postgres)

Lecture 5 Setup the DB and create a new schema (MySQL)

Lecture 6 Connect the application to the database (Postgres)

Lecture 7 Connect the application to the database (MySQL)

Lecture 8 The persistence project we will build

Section 2: Introduction to Spring Data JPA

Lecture 9 Hibernate VS Spring Data JPA

Lecture 10 Create the first java Class

Lecture 11 Transform the java Class to an @Entity

Lecture 12 @Id annotation

Lecture 13 @GeneratedValue annotation

Lecture 14 Strategy AUTO

Lecture 15 @SequenceGenerator annotation

Lecture 16 @TableGenerator annotation

Lecture 17 @Column annotation overview

Lecture 18 Best usages of @Column

Lecture 19 Have more control over your entity using @Table

Section 3: Repositories

Lecture 20 Repositories overview

Lecture 21 Deep understanding of Repositories

Lecture 22 Discover the repositories as code

Lecture 23 Create your first Repository

Lecture 24 Create a command line runner

Lecture 25 Insert some data into the database

Lecture 26 Entity lifecycle

Section 4: Spring Data JPA Relationships

Lecture 27 Why creating relationships between entities

Lecture 28 The difference between unidirectional and bidirectional relationship

Lecture 29 Create the course entity

Lecture 30 Create the section entity

Lecture 31 Create the lecture entity

Lecture 32 Create the resource entity

Lecture 33 Many to many relationship

Lecture 34 One to many

Lecture 35 One to many section and lecture

Lecture 36 One to one relationship

Lecture 37 Check if your code is correct

Section 5: Playing with Inheritance

Lecture 38 Inheritance overview

Lecture 39 Inheritance VS Composition

Lecture 40 @MappedSuperclass

Lecture 41 Create the child classes

Lecture 42 Single table strategy

Lecture 43 Single table strategy – Discriminator Values

Lecture 44 Test the single table strategy strategy

Lecture 45 Joined table strategy

Lecture 46 Table per class strategy

Lecture 47 Polymorphic Queries

Section 6: Embedded entities & ID

Lecture 48 Embedding Overview

Lecture 49 @EmbeddedId

Lecture 50 Use the embedded ID

Lecture 51 Test the embedded ID

Lecture 52 Create Embedded Address class

Lecture 53 @Embaddable annotation

Section 7: Querying data

Lecture 54 Derived query methods explained

Lecture 55 FindAllBy methods explained

Lecture 56 Play with FindBy method

Lecture 57 Add Java Faker dependency

Lecture 58 Insert fake data

Lecture 59 Exercice

Lecture 60 Update data

Lecture 61 Update data using @Modifiying

Section 8: Named queries

Lecture 62 Definition and advantages of named queries

Lecture 63 Fetch data with @NamedQuery

Lecture 64 Update data with @NamedQuery

Beginners,Professionals looking to deeply understand Spring Data JPA

Course Information:

Udemy | English | 4h 48m | 1.75 GB
Created by: BOUALI Ali

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top