Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Mastering Spring Data JPA: From Basics to Advanced
Introduction
Join our community
Course introduction
New Lecture
Bootstrap the course
Setup Postgres DB server (Docker image) (5:05)
Setup MySQL DB server (Docker image) (2:29)
Create a new Spring boot project (3:46)
Setup the DB and create a new schema (Postgres) (4:23)
Setup the DB and create a new schema (MySQL) (1:52)
Connect the application to the database (Postgres) (9:20)
Connect the application to the database (MySQL) (5:53)
The persistence project we will build (5:53)
Introduction to Spring Data JPA
Hibernate VS Spring Data JPA (3:15)
Create the first java Class (6:16)
Transform the java Class to an @Entity (2:59)
@Id annotation (4:24)
@GeneratedValue annotation (5:19)
Strategy AUTO (6:28)
@SequenceGenerator annotation (5:42)
@TableGenerator annotation (4:31)
@Column annotation overview (4:14)
Best usages of @Column (7:20)
Have more control over your entity using @Table (3:52)
Repositories
Repositories overview (3:29)
Deep understanding of Repositories (5:06)
Discover the repositories as code (2:48)
Create your first Repository (3:02)
Create a command line runner (2:25)
Insert some data into the database (5:01)
Entity lifecycle (9:18)
Spring Data JPA Relationships
Why creating relationships between entities (2:31)
The difference between unidirectional and bidirectional relationship (3:38)
Create the course entity (2:08)
Create the section entity (0:50)
Create the lecture entity (0:38)
Create the resource entity (1:14)
Many to many relationship (8:38)
One to many (5:08)
One to many section and lecture (2:20)
One to one relationship (4:42)
Check if your code is correct (2:34)
Playing with Inheritance
Inheritance overview (3:06)
Inheritance VS Composition (2:34)
@MappedSuperclass (12:45)
Create the child classes (3:18)
Single table strategy (6:33)
Single table strategy - Discriminator Values (3:52)
Test the single table strategy (4:07)
Joined table strategy (8:12)
Table per class strategy (5:07)
Polymorphic Queries (3:10)
Embedded entities & ID
Embedding Overview (4:20)
@EmbeddedId (3:01)
Use the embedded ID (4:43)
Test the embedded ID (7:01)
Create Embedded Address class (3:29)
@Embaddable annotation (2:50)
Querying data
Derived query methods explained (8:15)
FindAllBy methods explained (5:45)
Play with FindBy method (8:05)
Add Java Faker dependency (2:11)
Insert fake data (5:40)
Exercice (0:42)
Update data (5:23)
Update data using @Modifiying (6:16)
Named Queries
Definition and advantages of named queries (2:35)
Fetch data with @NamedQuery (4:50)
Update data with @NamedQuery (3:15)
Chapter 10: Spring Data JPA Specification
Specification overview (3:28)
Extend the repository (0:37)
Building the Specification (4:38)
Run the specification (7:04)
Advanced search queries
Work in progress
Paging and Sorting
Sorting
Sorting with @Query
Paging and Sorting
Chapter 11: Transactions
What is a transaction?
Transactions rollback on exceptions
Spring Data JDBC
Coming soon
Definition and advantages of named queries
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock