What you'll learn:
- The essentials of Repositories, Derived Queries, Sorting, Paging, Modifying, Projections, Transaction Management, and Concurrency
- Understand Entity Relationships, Inheritance Mapping, Polymorphic Queries and Repository Inheritance
- Understand how to handle concurrent transactions using Optimistic Locking and Pessimistic Locking
- How to manage and propagate transactions efficiently
- Essentials of Database Isolation Rules
- Some of the Best Practices and Performance Optimisations
- JPA Essentials of Entity State Transitions, 1st Level Caching, Automatic Dirty Checking, Persistence Context and Flushing
If you’re a Spring/Java programmer who wants to learn the fundamentals and some of the advanced topics of Spring Data JPA with Hibernate, then you’re the one this course is designed for.
It uses Hibernate as the JPA provider for this course, which is also the default JPA provider of Spring Data JPA. You'll be learning the fundamentals and some of the advanced Spring Data JPA features covering Repositories, Derived Queries, Paging & Sorting, Query-By-Example (QBE), Auditing, Transactions & Concurrency, Modifying Queries, Projections, Mapping Associations and Mapping Inheritance.
It'll be discussing some of the Best Practices and Performance Optimizations as well.
Spring Data JPA provides an abstraction layer built on top of the JPA API specification, so JPA is important for this course, but even if you have just some basic experiences with JPA/Hibernate, you should not find it difficult to complete this course successfully, as it also covers the most essential topics of JPA at the end of the course in Appendix A.
The course also discusses the SQL at runtime every step of the way, and the performance implications of it. There will also be Lab-Exercises and Quizzes throughout the course, to challenge you, and also to help you revise the concepts learnt in the previous sessions.
MySQL and H2 in-memory database are the two RDBMS that the used in the course.