jpa-patterns
From affaan-m
Patrones JPA/Hibernate para diseño de entidades, relaciones, optimización de consultas, transacciones, auditoría, indexación, paginación y pooling en Spring Boot.
Provides JPA/Hibernate code patterns for entities, relations, queries, transactions, auditing, indexing, pagination and HikariCP pooling in Spring Boot.
Use it when
- Designing JPA entities and table mappings
- Fixing N+1 queries or choosing fetch strategies
- Configuring pagination, sorting, or custom repository methods
- Tuning HikariCP pool size or reviewing indexing strategy
Skip it if
- Not using Spring Boot with JPA/Hibernate
- Not using PostgreSQL/relational DB with Flyway or Liquibase migrations
- Just need a quick single query, not full entity/repo design
Facts
- Repository
- affaan-m/ECC
- Status
- Actively maintained
- Last commit
- Source file
- .kiro/skills/jpa-patterns/SKILL.md
Source preview
The instructions Claude Code reads when this skill runs.
# Patrones JPA/Hibernate
Usar para modelado de datos, repositorios y ajuste de rendimiento en Spring Boot.
## Cuándo Activar
- Diseñar entidades JPA y mapeos de tablas
- Definir relaciones (@OneToMany, @ManyToOne, @ManyToMany)
- Optimizar consultas (prevención de N+1, estrategias de fetch, proyecciones)
- Configurar transacciones, auditoría o soft deletes
- Configurar paginación, ordenamiento o métodos de repositorio personalizados
- Ajustar el connection pool (HikariCP) o caché de segundo nivel
## Diseño de Entidades
```java
@Entity
@Table(name = "markets", indexes = {
@Index(name = "idx_markets_slug", columnList = "slug", unique = true)
})
@EntityListeners(AuditingEntityListener.class)
public class MarketEntity {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, length = 200)
private String name;
@Column(nullable = false, unique = true, length = 120)
private String slug;
@Enumerated(EnumType.STRING)
private MarketStatus status = MarketStatus.ACTIVE;
@CreatedDate private Instant createdAt;
@LastModifiedDate private Instant updatedAt;
}
```
Habilitar auditoría:
```java
@Configuration
@EnableJpaAuditing
class JpaConfig {}
```
## Relaciones y Prevención de N+1
```java
@OneToMany(mappedBy = "market", cascade = CascadeType.ALL, orphanRemoval = true)
private List<PositionEntity> positions = new ArrayLView full source on GitHub →Other skills
django-tdd
★ 229,918Django testing strategies with pytest-django, TDD methodology, factory_boy, mocking, coverage, and testing Django REST Framework APIs.
affaan-mupdated 14d agoMITclickhouse-io
★ 229,918ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
affaan-mupdated 14d agoMITlaravel-patterns
★ 229,918Patrones de arquitectura Laravel, routing/controladores, Eloquent ORM, capas de servicio, colas, eventos, caché y API resources para aplicaciones en producción.
affaan-mupdated 14d agoMITverification-loop
★ 229,918Sistema de verificación completo para sesiones de Claude Code.
affaan-mupdated 14d agoMITstrategic-compact
★ 229,918Suggests manual context compaction at logical intervals to preserve context through task phases rather than arbitrary auto-compaction.
affaan-mupdated 14d agoMITfrontend-patterns
★ 229,918Patrones de desarrollo frontend para React, Next.js, gestión de estado, optimización de rendimiento y buenas prácticas de UI.
affaan-mupdated 14d agoMIT