Databases
SQL, NoSQL, connection pooling, schema migration (Flyway/Liquibase).
SQL, NoSQL, connection pooling, schema migration (Flyway/Liquibase).
The entities, DTOs (Java Records), and enums that represent the core concepts of a loan application — and why each was designed the way it was.
The Hibernate internals every Spring Boot developer must understand — SessionFactory vs Session thread safety, entity states, dirty checking, first-level cache, second-level cache, and LazyInitializationException.
How to map Java classes to database tables using @Entity, @Id, @GeneratedValue, and relationship annotations (@OneToMany, @ManyToOne), including fetch type defaults and their implications.
Hands-on code examples for JPA entity mapping, relationships, fetch types, and Spring Data auditing in a simple e-commerce domain.
A clear breakdown of how JPA, Hibernate, Spring Data, and Spring Data JPA relate to each other — the layer model every developer must understand before working with any of them.
A Spring Boot REST service that evaluates loan applications using risk classification, EMI calculation, and eligibility rules — covered layer by layer.
Hands-on examples demonstrating how N+1 queries occur and how to fix them with JOIN FETCH, @EntityGraph, and @BatchSize.
CAP theorem, BASE properties, and when to choose Redis, MongoDB, Cassandra, or Elasticsearch over a relational database.
Hands-on Spring Boot examples for Redis caching, MongoDB document CRUD, and Spring Cache abstraction.
How LoanApplication is mapped to H2 using JPA @Embeddable value objects, @ElementCollection for rejection reasons, and @PrePersist for UUID generation.
Quick-reference summary of the Loan Application Evaluator project — architecture, key patterns, tech stack decisions, and top interview talking points.
JPA, repositories, transactions, caching, query methods.
How Spring's cache abstraction works with @Cacheable, @CacheEvict, @CachePut, and @Caching, plus integrating Caffeine and Redis as backing stores.
Hands-on examples for @Cacheable, @CacheEvict, @CachePut, Caffeine, and Redis cache configuration in a Spring Boot application.
Consolidated interview Q&A for Spring Data JPA covering JPA mapping, repositories, transactions, N+1, projections, and caching — beginner through advanced.
Quick-reference summary of Spring Data JPA — entity mapping, repository methods, transactions, N+1, projections, and caching.
How to use interface projections, DTO projections, and dynamic projections in Spring Data JPA to select only the columns you need in a single optimized query.
Hands-on examples for closed interface projections, nested projections, DTO projections with records, and dynamic projections.
How Spring Data JPA's repository interfaces (CrudRepository, JpaRepository) eliminate DAO boilerplate through query method derivation and @Query for JPQL and native SQL.
Hands-on examples for Spring Data JPA query methods, @Query JPQL/native SQL, @Modifying, pagination, and the Specification API.
What causes N+1 queries in JPA/Hibernate, how to diagnose them, and how to fix them with JOIN FETCH, @EntityGraph, DTO projections, and batch fetching.
Hands-on examples for @Transactional propagation, readOnly optimization, rollbackFor, the self-invocation trap, and programmatic transactions.
Database transactions, the four ACID properties, isolation levels, and how deadlocks occur — with Spring @Transactional context.
Hands-on examples of Spring @Transactional — propagation, isolation levels, deadlock handling, and common pitfalls.
How Spring's @Transactional works under the hood with AOP proxies, propagation levels, isolation levels, readOnly optimization, rollback rules, and the self-invocation trap.