JPA Basics |
Introduction, Entities, Annotations |
✅ |
|
|
|
Entity Mapping |
@Entity, @Table, @Id, @GeneratedValue |
✅ |
|
|
|
Relationships |
@OneToOne, @OneToMany, @ManyToOne, @ManyToMany |
✅ |
✅ |
|
|
JPQL Queries |
JPQL Basics, Parameters, Named Queries |
✅ |
✅ |
|
|
Spring Data Repositories |
CrudRepository, JpaRepository, PagingAndSortingRepository |
✅ |
✅ |
|
|
Derived Queries |
Method Naming, Query Derivation |
✅ |
✅ |
|
|
Paging & Sorting |
Pageable, Sort, Slice |
|
✅ |
|
|
Custom Queries |
@Query Annotation, Native Queries |
|
✅ |
|
|
Criteria API |
CriteriaBuilder, Specifications |
|
✅ |
✅ |
|
Transactions |
@Transactional, Propagation, Isolation |
|
✅ |
✅ |
|
Caching |
First Level, Second Level, EhCache, Infinispan |
|
✅ |
✅ |
|
Auditing |
@CreatedDate, @LastModifiedDate, AuditingEntityListener |
|
✅ |
✅ |
|
Entity Lifecycle |
@PrePersist, @PostLoad, @PostUpdate |
|
✅ |
✅ |
|
Performance Tuning |
N+1 Problem, FetchType (LAZY vs EAGER), Batch Fetching |
|
|
✅ |
|
Locking |
Optimistic Locking, Pessimistic Locking, @Version |
|
|
✅ |
|
Advanced Relationships |
Composite Keys, @EmbeddedId, @IdClass |
|
|
✅ |
|
JPQL Advanced |
Joins, Subqueries, Group By, Having |
|
|
✅ |
|
Projections |
Interface-based, DTO-based, Dynamic Projections |
|
|
✅ |
|
Multi-Database |
Multiple DataSources, Routing, Schema Separation |
|
|
✅ |
|
Query Optimization |
Query Hints, Fetch Joins, Plan Caching |
|
|
✅ |
|
Spring Boot Integration |
Auto Configuration, application.properties, application.yml |
✅ |
✅ |
✅ |
|
Specifications |
Predicate Composition, Complex Dynamic Queries |
|
|
✅ |
|
Event Handling |
EntityListeners, Domain Events, Application Events |
|
|
✅ |
|
Hibernate Internals |
Session, Persistence Context, Dirty Checking |
|
|
✅ |
|
Distributed Transactions |
XA Transactions, JTA Integration |
|
|
|
✅ |
Advanced Caching |
Redis, Hazelcast, Custom Cache Providers |
|
|
|
✅ |
Migration |
Migrating from JDBC/Hibernate to Spring Data JPA |
|
|
|
✅ |
Testing |
@DataJpaTest, H2 Database, Integration Testing |
|
✅ |
✅ |
✅ |
Best Practices |
DTO vs Entity, Entity Design, Batch Inserts |
|
|
✅ |
✅ |
Scalability |
Sharding, Partitioning, Multi-Tenant Databases |
|
|
|
✅ |