JPA ORM & SpringData JPA for Complete Beginner with Handson, Enter the world of ORM with Java, JPA and SpringData JPA. Learn all the concepts with practical examples and handson.
Course Description
In this course you will learn about JPA, ORM different concepts about them. Then you will learn about how to use different concepts in real world project. Later you will learn about Entity, Entity Manager, Query, Criteria, Persistence Context, Persistence Unit, Transaction, Lazy loading, Relationships, SpringData JPA. Finally you will learn to use JPA without Springboot and JPA with Springboot by doing two real world projects.
You will about real world uses of SpringData JPA findBy, countBy, existsBy, deleteBy queries.
Following is the list of topics that you will learn in this course:
Introduction to JPA
Overview of Java Persistence API (JPA) Evolution from JPA 1 to JPA 2 Key features and benefits
Entity Basics
Creating JPA entities Entity lifecycle and states Annotations (@Entity, @Id, @GeneratedValue, etc.) Embeddable and embedded objects
Mapping Entities
Mapping entity attributes One-to-One, One-to-Many, and Many-to-One relationships Many-to-Many relationships Mapping inheritance hierarchies (Single Table, Joined, and Table per Class strategies)
JPQL (Java Persistence Query Language)
Overview of JPQL Querying entities with JPQL Named queries JPQL functions and aggregation
Criteria API
Introduction to Criteria API Building type-safe queries Predicate, CriteriaQuery, and CriteriaBuilder
Transactions and Persistence Context
Managing transactions in JPA Entity Manager and Persistence Context Transaction demarcation (declarative and programmatic)
Advanced Mapping Techniques
Embedded objects and collections Lazy and eager loading strategies Optimistic and pessimistic locking Custom converters and mappings
Performance Tuning and Best Practices
Fetch strategies and batching Caching strategies (1st and 2nd level cache) Query optimization Best practices for efficient data access
Integration with Java EE and Spring
Using JPA in Java EE applications Spring Data JPA integration Transaction management with JTA and Spring
Testing and Debugging JPA Applications
Unit testing JPA entities and queries Debugging common JPA issues Integration testing with embedded databases
Migration and Upgrading
Migrating from JPA 1 to JPA 2 Upgrading JPA providers Handling version-specific issues
Future of JPA
Trends and advancements in ORM frameworks JPA vs. other ORM solutions Considerations for modern application development.
After this course you will become pro level developer who will be very confident to work in any project which uses JPA or SpringData JPA.