Entity Mapping & Repositories
- JPA entity lifecycle: @Entity, @Id, @GeneratedValue, entity states
- Relationship mapping: @OneToMany, @ManyToOne, @ManyToMany, FetchType
- Hibernate DDL generation vs Flyway migrations
- Spring Data repositories: JpaRepository, query derivation, @Query
- JPQL vs native queries: when to use which
- Pagination and sorting: Pageable, Page, Slice
- Projections: interface-based, DTO projections with constructor expressions
- Auditing: @CreatedDate, @LastModifiedDate, @EnableJpaAuditing
Performance, Transactions & Advanced Queries
- N+1 problem: detection with Hibernate statistics and fixing with JOIN FETCH or @BatchSize
- Lazy vs eager loading: the real trade-offs
- Criteria API and Specifications: type-safe dynamic queries
- Transaction management: @Transactional, propagation levels, read-only transactions
- Second-level cache: EhCache / Redis with Hibernate
- QueryDSL for complex predicate building
- Connection pool tuning: HikariCP configuration for production
- Database-specific features: native JSON support, full-text search via native queries
Developers who understand the full JPA/Hibernate stack — not just the happy path, but the performance characteristics, transaction semantics, and query options that matter in production.
- Map complex entity relationships correctly without introducing N+1 query problems
- Write JPQL, native SQL, and Criteria API queries deliberately based on the use case
- Configure transaction propagation and understand rollback semantics
- Tune Hibernate and HikariCP for production workloads
Book the Spring Data JPA training
Can be delivered as a focused 1-day performance deep-dive or a 2-day complete course covering basics through advanced query patterns.
Get in touch