What you'll learn:
- By the end of this course, you'll be having a strong foundation on Java Persistence with Hibernate
- The fundamentals and some of the advanced JPA features for Object/Relational Mapping, Querying, Caching, Performance and Concurrency
- The fundamentals of First & Second Level Caching, N+1 Selects Problem & Batch Fetching, Optimistic Locking & Versioning
- The fundamentals of Entity Relationships, Inheritance Mapping & Polymorphic Queries
- The fundamentals of Querying database using JPQL and Criteria API (JPA)
- The fundamentals of Handling Long Conversations with Merging Detached Object and Extended Persistence Context
- The fundamentals of Database Isolation Rules
- Some of the Best Practices of Java Persistence with Hibernate
If you’re a Java programmer who wants to learn the fundamentals and some of the advanced topics of Java Persistence with Hibernate, then you’re the one this course is designed for.
We'll be working with Hibernate 4 (with updates for Hibernate 5 & 6), and using Hibernate as a JPA Provider for the most part of this course.
You'll be learning the fundamentals and some of the advanced JPA features for Object/Relational Mapping, Querying, Caching, Fetching Strategies, Performance Optimizations and Concurrency.
We’ll also talk about Best Practices and how to resolve some of the common performance bottlenecks.
The course includes many Lab-Exercises in which we have tasks, Q&A and quizzes for students to revise the concepts learnt in the lectures. We also have expanded discussions on some of those lab-exercises.
We also discuss the SQL at runtime and the performance implications of it.
The Maven source-code provided with the course currently uses the Hibernate version 6.
We try to keep updating the course by adding more and new relevant topics as well. For example, the most recent topic added to the course was Embeddable Inheritance, which was introduced in Hibernate version 6.6.
We've used MySQL in the course as the RDBMS.