Hibernate and Spring Data JPA: Beginner to Guru Udemy Free Download
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
Requirements::
- You have fun learning and want to understand how to use JPA with databases
- Programming Experience with Java
- Basic understanding of Spring Framework and Spring Boot
- SQL Knowledge highly recommended
- Java 17+ and Spring Boot 3
Description:
Hibernate is the default JPA implementation used by Spring Data JPA.
NOTE: Java 17 and Spring Boot 3 are required for this course.
JPA stands for Java Persistence API. This is a common Java API used to work with Relational Databases.
Spring Data JPA is an abstraction built on top of the JPA API specification.
Being an abstraction, Spring Data JPA makes working with database entities very efficient.
Spring Data JPA eliminates 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 JDBC and 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 JPA is the Java API for working with Relational Databases, the course takes a closer look at Relational Databases and MySQL specifically.
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 MySQL database. 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 MySQL database, Spring Boot Integration Tests, and automated database migrations we can use Test Driven Development to explore the features of JDBC and Hibernate.
In the course you will learn:
What is the DAO pattern, 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 JPA Queries
Spring Data JPA query 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 JPA Query Methods
Paging and Sorting
Database Transaction Management
Database Fetch Operations
Data Validation
JPA Inheritance
Hibernate Interceptors and Listeners
JPA Callbacks
Legacy Database Mapping
Using Multiple Data Sources
Spring Data REST
Learn Hibernate and Spring Data JPA - Enroll today!
Who this course is for:
- New Java Developers who wish to master working with Relational Databases
- Spring Developers who want to take the mystery out of Spring Data JPA
Course Details:
-
17.5 hours on-demand video
-
9 articles
-
26 downloadable resources
-
Full lifetime access
-
Access on mobile and TV
-
Assignments
-
Certificate of completion