| S.No |
Topic |
Sub-Topics |
| 1 | Introduction to JPA | What is JPA, ORM concept, JPA Providers, Hibernate vs JPA, JPA Architecture |
| 2 | JPA Annotations Basics | @Entity, @Table, @Id, @Column, GenerationType |
| 3 | Entity Mapping | Entity States, Embedded Types, @Embeddable, Composite Keys, @EmbeddedId |
| 4 | Primary Key Strategies | IDENTITY, SEQUENCE, TABLE, AUTO, Custom Generators |
| 5 | Relationships Overview | OneToOne, OneToMany, ManyToOne, ManyToMany, Cascade Types |
| 6 | OneToOne Mapping | @OneToOne, JoinColumn, FetchType, Bidirectional, Lazy Loading |
| 7 | OneToMany Mapping | @OneToMany, mappedBy, Cascade, List vs Set, Lazy vs Eager |
| 8 | ManyToOne Mapping | @ManyToOne, Foreign Key, Join Columns, Owner Side, Cascade Types |
| 9 | ManyToMany Mapping | @ManyToMany, JoinTable, mappedBy, Uni vs Bi Directional, Pitfalls |
| 10 | Entity Lifecycle | Transient, Persistent, Detached, Removed, Synchronization |
| 11 | Persistence Context | EntityManager, Flush, Clear, merge(), persist() |
| 12 | JPQL Queries | Select clause, Where clause, Joins, Group By, Named Queries |
| 13 | Criteria API | CriteriaBuilder, Predicate, Select Query, TypedQuery, Dynamic Queries |
| 14 | Native SQL Queries | @Query native, Result Mapping, Limitations, Performance, When to use |
| 15 | Spring Data JPA Intro | Repository Pattern, JpaRepository, CrudRepository, PagingAndSortingRepository |
| 16 | Derived Query Methods | findBy, query keywords, Like and Between, Sorting, Custom naming |
| 17 | Custom JPQL Queries | @Query, Positional parameter, Named parameter, DTO Projection, Interface Projection |
| 18 | Pagination & Sorting | Pageable, PageRequest, Sort by multiple fields, Page vs Slice, Infinite scroll |
| 19 | Transaction Management | @Transactional, Isolation Level, Propagation, Rollback rules, Declarative tx |
| 20 | Caching in JPA | 1st Level Cache, 2nd Level Cache, EhCache, HazelCast, Cache strategies |
| 21 | Locking in JPA | Optimistic Lock, Pessimistic Lock, @Version, Deadlocks, Lost updates |
| 22 | Batch Processing | Batch inserts, Hibernate properties, JDBC batching, flush size, clear context |
| 23 | JPA Performance Optimization | N+1 problem, Fetch Joins, Lazy loading tips, DTO projection, Indexing |
| 24 | Auditing with JPA | @CreatedDate, @LastModifiedDate, AuditingEntityListener, Spring Auditing, Tenant info |
| 25 | Soft Deletes | @SQLDelete, @Where, Logical delete, Filtering, global query filters |
| 26 | Inheritance Mapping | Single Table, Joined, Table per class, Pros and Cons, Discriminator |
| 27 | DTO & Entity Conversion | ModelMapper, MapStruct, Manual mapping, Record DTO, Validation |
| 28 | Testing JPA | H2 Database, @DataJpaTest, Testcontainers, Repository tests, Mocking |
| 29 | JPA with Microservices | Distributed transactions, Saga, Eventual consistency, CDC, Outbox pattern |
| 30 | Real Project Implementation | CRUD API, Pagination, Filtering, Audit logs, Docker and deployment |