What you'll learn

✅ Learn How to Use Spring Data JPA in the Spring Boot Application

✅ Learn How to Use JPA Annotations to Create an Entity and Map to a Database Table

✅ Learn 4 Types of Primary key Generation Strategies - AUTO, IDENTITY, SEQUENCE, and TABLE

✅ Learn How to Use the Lombok Library to Reduce a Boilerplate Code

✅ Learn Spring Data JPA Repository Interfaces and Its Hierarchy

✅ Learn Steps to Use Spring Data JPA Repository

✅ Learn Important Spring Data JPA Repository Methods (CRUD Operations)

✅ Learn How to Create Query Methods or Finder Methods Using Method Names

✅ Learn How to Create JPQL and Native SQL Queries Using @Query Annotation

✅ Learn How to Create JPQL and Native SQL Queries With Named Queries

✅ Learn How to Implement Pagination and Sorting Using Spring Data JPA

✅ Learn JPA/Hibernate One to One Mapping Using Spring Data JPA

✅ Learn JPA/Hibernate One to Many Mapping Using Spring Data JPA

✅ Learn JPA/Hibernate Many to Many Mapping Using Spring Data JPA

✅ Learn JPA Cascade Types and Fetch Types (EAGER and LAZY)

✅ Learn building domain model relationships for e-commerce project using Hibernate ORM framework

Learn to implement Search/Filter functionality

Learn Transaction Management with Spring Data JPA and Spring Boot

✅ Unit Testing Spring Data JPA Repository using @DataJpaTest annotation



This course includes:

➡️ 15.5 hours on-demand video

➡️ 24 articles

➡️ 25 downloadable resources

➡️ Full lifetime access

Course description

In this course, you will learn how to use Spring Data JPA and its features to reduce a lot of boilerplate code.

Throughout this course, we will build domain model entities (Product, ProductCategory, Order, OrderItems, User, Roles) and repositories for a simple e-commerce application.

Problem:

In typical three-layer Spring boot application architecture, we create three layers - Controller, Service, and DAO/Repository layer.

If we use JPA/Hibernate then write a lot of coding while implementing DAO/Repository layer - We repeat the same code again and again so what will be the solution to reduce the boilerplate code.

Solution:

Spring Data JPA provides a solution to reduce a lot of boilerplate code.

We can use Spring Data JPA to reduce the amount of boilerplate code required to implement the data access object (DAO) layer.

Spring Data JPA is not a JPA provider. It is a library/framework that adds an extra layer of abstraction on the top of our JPA provider (like Hibernate). Spring Data JPA uses Hibernate as a default JPA provider.

Requirements or Prerequisites

  • Java
  • Basic understanding of JPA and Hibernate
  • Basic understanding of SQL
  • Good to know Spring Boot basics

Tools and Technologies used

Technologies:

- Java 11+

- Spring Boot

- Spring Data JPA

- Hibernate

- Lombok

- Maven

- JUnit framework

IDE:

- Intellij IDEA

Database:

- MySQL database

Who this course is for?

Anyone who wants to learn the features of Spring Data JPA using Hibernate and use in Spring boot application

Any Java programmer can take this course to learn everything about Spring Data JPA to reduce boilerplate code in Spring boot application.

This course is very helpful for those who completed my other two popular courses ( Building Real-Time REST APIs with Spring Boot and Testing Spring Boot Application with JUnit and Mockito).




Course content

13 sections • 118 lectures • 12h 26m total length


  Getting Started with Spring Data JPA
Available in days
days after you enroll
  Create and Setup Spring Boot Project with Spring Data JPA
Available in days
days after you enroll
  Spring Data JPA Repository Interfaces and It’s Hierarchy
Available in days
days after you enroll
  Important Spring Data JPA Repository Methods
Available in days
days after you enroll
  Query Methods or Finder Methods
Available in days
days after you enroll
  JPQL and Native SQL Queries using @Query Annotation
Available in days
days after you enroll
  Creating Named Queries
Available in days
days after you enroll
  Pagination and Sorting
Available in days
days after you enroll
  One to One Mapping (@OneToOne)
Available in days
days after you enroll
  One to Many Mapping (@OneToMany and @ManyToOne)
Available in days
days after you enroll
  One to Many Mapping (ProductCategory and Product)
Available in days
days after you enroll
  Many to Many Mapping (@ManyToMany)
Available in days
days after you enroll
  Implementing the Search Functionality
Available in days
days after you enroll
  Transaction Management with Spring Data JPA (Spring Boot)
Available in days
days after you enroll
  Unit Testing Spring Data JPA Repository layer - @DataJpaTest
Available in days
days after you enroll
  Interview Preparation
Available in days
days after you enroll

Choose a Pricing Option

Your Instructor

Hi, I'm Ramesh. I'm a software engineer with 10 years of experience in Java, Spring Boot, Microservices, Hibernate, Angular, React, and related open source technologies.

I am a Vmware Spring Certified Professional.

I am the founder and author of the top Java blog at https://www.javaguides.net/ (1M views per month).

Published around 200+ free sample projects on GitHub (3K followers)

I am YouTuber at https://www.youtube.com/c/javaguides ( 75K Subscribers)

Contact Me

Contact me if you have any queries about this course using the below email:

[email protected]

Free courses are available on my YouTube channel at https://www.youtube.com/c/javaguides

Frequently Asked Questions


1. When does the course start and finish?

The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.


2. How long do I have access to the course?

How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.


3. Do you offer support?

Yes, of course, I handle support myself, directly over email or I enable a discussion/comment section for each video so that you can ask your queries.


4. What if I am unhappy with the course?

We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.