What problem does it solve?
JPA/Hibernate patterns for entity design, relationships, query optimization, transactions, auditing, indexing, pagination, and pooling in Spring Boot help manage data efficiently and reduce common pitfalls.
Core Features & Use Cases
- Entity Design: Best practices for JPA entities, including indexing, status tracking, and versioning.
- Relationships: Strategies for handling @OneToMany, @ManyToOne, and @ManyToMany relationships.
- Query Optimization: Techniques to prevent N+1 problems, use fetch strategies, and optimize projections.
- Transactions: Best practices for transactions, including read-only paths and propagation.
- Pagination: Set up efficient pagination with cursor-like pagination.
- Indexing and Performance: Adding indexes, batch writes, and handling LOBs.
- Connection Pooling: Configuration for HikariCP and handling PostgreSQL LOBs.
- Caching: Implementing first and second-level caching.
- Migrations: Best practices for database migrations using Flyway or Liquibase.
- Testing Data Access: Using @DataJpaTest with Testcontainers.
Quick Start
Use the jpa-patterns skill to implement pagination and indexing in a Spring Boot application.