Agent skill · software engineering · affaan-m
jpa-patterns
Spring Boot'ta entity tasarımı, ilişkiler, sorgu optimizasyonu, transaction'lar, auditing, indeksleme, sayfalama ve pooling için JPA/Hibernate kalıpları.
Why this skill is useful
Provides specific JPA/Hibernate patterns and optimizations that 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
JPA/Hibernate Kalıpları Spring Boot'ta veri modelleme, repository'ler ve performans ayarlaması için kullanın. Ne Zaman Aktifleştirmeli JPA entity'leri ve tablo eşlemelerini tasarlarken İlişkileri tanımlarken (@OneToMany, @ManyToOne, @ManyToMany) Sorguları optimize ederken (N+1 önleme, fetch stratejileri, projections) Transaction'ları, auditing'i veya soft delete'leri yapılandırırken Sayfalama, sıralama veya özel repository metodları kurarken Connection pooling (HikariCP) veya second-level caching ayarlarken Entity Tasarımı Auditing'i etkinleştir: İlişkiler ve N+1 Önleme Varsayılan olarak lazy loading; gerektiğinde sorgularda JOIN FETCH kullan Koleksiyonlarda EAGER kullanmaktan kaçın; okuma yolları için DTO projections kullan Repository Kalıpları Hafif sorgular için projections kullan: Transaction'lar Servis metodlarını @Transactional ile işaretle Okuma yollarını optimize etmek için @Transactional(readOnly = true) kullan Propagation'ı dikkatle seç; uzun süreli transaction'lardan kaçın Sayfalama Cursor benzeri sayfalama için, sıralama ile birlikte JPQL'de id > :lastId ekle. İndeksleme ve Performans Yaygın filtreler için indeksler ekle (status, slug, foreign key'ler) Sorgu kalıplarına uyan composite indeksler kullan (status, createdat) select kullanmaktan kaçın; sadece gerekli sütunları project et saveAll ve hibernate.jdbc.batchsize ile yazmaları batch'le Connection Pooling (HikariCP) Önerilen özellikler: PostgreSQL LOB işleme için ekle: Caching 1st-level cache EntityManager başına; transaction'lar arası entity'leri tutmaktan kaçın Okuma ağırlıklı entity'ler için second-level cache'i dikkatle düşün; eviction stratejisini doğrula Migration'lar Flyway veya Liquibase kullan; üretimde Hibernate auto DDL'ye asla güvenme Migration'ları idempotent ve ekleyici tut; plan olmadan sütun kaldırmaktan kaçın Veri Erişimi Testi Üretimi yansıtmak için Testcontainers ile @DataJpaTest tercih et Logları kullanarak SQL verimliliğini assert et: parametre değerleri için logging.level.org.hi …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills affaan-m/jpa-patterns--f9c682