What problem does it solve?
Provides clear, production-oriented patterns to implement and maintain persistence layers in Spring applications, reducing common errors like N+1 queries, inefficient pagination, and fragile transaction handling.
Core Features & Use Cases
- Repository design: Guidance for creating repository interfaces (JpaRepository, PagingAndSortingRepository) and custom repository implementations.
- Query strategies: Use derived methods, JPQL/@Query, native queries, projections, and @Modifying operations for updates and deletes.
- Entity modeling & relationships: Best practices for one-to-one, one-to-many, many-to-many, bidirectional mappings, and helper methods to keep associations consistent.
- Pagination, sorting & filtering: Pageable integration, custom criteria implementations, and efficient page-aware queries for large datasets.
- Auditing & transactions: Configuration examples for auditing (CreatedDate, LastModifiedBy), AuditorAware, and correct transaction boundaries and propagation.
- Performance & scaling: Advice on fetch strategies, @EntityGraph, indexes, UUID primary keys, batch operations, and multi-database setups to avoid common performance pitfalls.
Quick Start
Ask the skill to scaffold a Product entity with audit fields and a JpaRepository that supports pageable queries and an example derived and @Query method.