Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Hibernate and Spring Data JPA: Beginner to Guru

via Udemy


Save Over 40% with an Annual Subscription to Udemy Personal Plan.
Master Hibernate, Remove the mystery of Spring Data JPA - Use Spring Boot 3!

What you'll learn:
  • Learn about the Java JPA Specification and the Hibernate JPA Implementation
  • How to Query Data with JDBC, JDBC Template, Hibernate, and Spring Data JPA
  • Learn how to use JPA's Object Relational Mapping (ORM) to map Java POJOs to relational database tables
  • Understand JPA Relationships - One to One, One to Many, Many to One, and Many to Many
  • How to persist data to a relational database using JPA and Hibernate
  • How you can use Hibernate's Paging and Sorting features
  • Understand Database Transactions and How you can control them
  • Use Liqibase and Flyway to Manage Database Migrations
  • Understand How to Implement the DAO pattern using JDBC, JDBC Template, Hibernate, and Spring Data JPA
  • Learn to Generate Database Schemas from JPA Entities Using Hibernate
  • Use Advanced JPA features to map Legacy Databases

Hibernate is the default JPAimplementation used by Spring Data JPA.

NOTE:Java 17 and Spring Boot 3 are required for this course.

JPAstands for Java Persistence API. This is a common Java APIused to work with Relational Databases.

Spring Data JPAis an abstraction built on top of the JPAAPIspecification.

Being an abstraction, Spring Data JPAmakes working with database entities very efficient.

Spring Data JPAeliminates a lot of the boilerplate / cerimonial code, and allows developers to focus on developing business logic.

The downside of the efficient abstraction is that accessing the database can become a mystery. Developers who just understand how to use Spring Data JPA do not understand the complexities of JDBCand Hibernate.

You will start this course with a basic demonstration of Spring Data JPA. In this section you will learn how to work with a H2 in-memory database.

You'll see how easy it is to work with Spring Data JPA. You will also begin to understand how the Hibernate interaction is being abstracted away.

Since JPAis the Java APIfor working with Relational Databases, the course takes a closer look at Relational Databases and MySQLspecifically.

MySQL is the most popular open source relational database in the world. You will learn how to configure Spring Boot to test with a H2 in-memory database and to run integration tests against a MySQLdatabase. This is a common real-world example leveraging the power of Spring and Hibernate to give you a very flexible environment.

Once we've established a persistent database, we can explore using database migration tools.

Liquibase and Flyway are two very popular database migration tools. Spring Boot supports both options. And you will learn about both options and database security best practices.

By establishing a MySQLdatabase, Spring Boot Integration Tests, and automated database migrations we can use Test Driven Development to explore the features of JDBCand Hibernate.

In the course you will learn:

  • What is the DAOpattern, and how to implement it using JDBC, Spring's JDBCTemplate, and Hibernate

  • Relational Database Principles

  • Schema Creation in MySQL

  • Schema Generation using Hibernate

  • Database Migrations using Liquibase

  • Database Migrations using Flyway

  • Database Integration Testing using Spring Boot and JUnit 5

  • Defining Primary Key's with Hibernate

  • Hibernate Criteria Queries

  • Named JPAQueries

  • Spring Data JPAquery methods

  • Spring Data JPA@Query Annotation

  • Entity Relationships - One to One, One to Many, Many to One, Many to Many

  • Embedded Types

  • Natural Keys

  • Composite Keys

  • Spring Data JPAQuery Methods

  • Paging and Sorting

  • Database Transaction Management

  • Database Fetch Operations

  • Data Validation

  • JPAInheritance

  • Hibernate Interceptors and Listeners

  • JPACallbacks

  • Legacy Database Mapping

  • Using Multiple Data Sources

  • Spring Data REST

Learn Hibernate and Spring Data JPA - Enroll today!

Taught by

John Thompson • 424,000+ Enrollments Worldwide and Spring Ahead Code Academy


4.7 rating at Udemy based on 910 ratings

Start your review of Hibernate and Spring Data JPA: Beginner to Guru

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.