Agent skill · software engineering · affaan-m
jpa-patterns
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.
Why this skill is useful
Provides specific JPA/Hibernate patterns and configurations that optimize performance and entity design in Spring Boot, which the AI wouldn't reliably generate on its own.
What it needs
About 2k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.
What this skill does
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 Habilitar auditoría: Relaciones y Prevención de N+1 Usar lazy loading por defecto; usar JOIN FETCH en consultas cuando sea necesario Evitar EAGER en colecciones; usar proyecciones DTO para rutas de lectura Patrones de Repositorio Usar proyecciones para consultas ligeras: Transacciones Anotar métodos de servicio con @Transactional Usar @Transactional(readOnly = true) para rutas de lectura y optimizar Elegir la propagación cuidadosamente; evitar transacciones de larga duración Paginación Para paginación tipo cursor, incluir id > :lastId en JPQL con ordenamiento. Indexación y Rendimiento Agregar índices para filtros comunes (status, slug, claves foráneas) Usar índices compuestos que coincidan con patrones de consulta (status, createdat) Evitar select ; proyectar solo las columnas necesarias Escrituras en lote con saveAll y hibernate.jdbc.batchsize Connection Pooling (HikariCP) Propiedades recomendadas: Para el manejo de LOB en PostgreSQL, agregar: Caché La caché de primer nivel es por EntityManager; evitar mantener entidades entre transacciones Para entidades con muchas lecturas, considerar la caché de segundo nivel con cautela; validar la estrategia de evicción Migraciones Usar Flyway o Liquibase; nunca depender de auto DDL de Hibernate en producción Mantener las migraciones idempotentes y aditivas; evitar eliminar columnas sin un plan Pruebas de Acceso a Datos Preferir @DataJpaTest con Testcontainers para replicar producción Verificar la eficiencia SQL con logs: establecer …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills affaan-m/jpa-patterns--28a48e