spring-boot-data-access
/spring-boot-data-access
Optymalizuje JPA, Hibernate i dostęp do bazy w Spring Boot, przy implementacji encji i repozytoriów.
- Autor
- HoangNguyen0403 ↗
- Repozytorium
- agent-skills-standard ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 22.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 3
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 22.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Optymalizuje JPA, Hibernate i dostęp do bazy w Spring Boot, przy implementacji encji i repozytoriów.
Oryginalny opis (EN)
Optimize JPA, Hibernate, and database interactions in Spring Boot. Use when implementing JPA entities, repositories, or database access in Spring Boot.
Jak działa
- Priority: P0 (CRITICAL)
- Configure JPA and Spring Data
- Optimize Queries and Transactions
- Anti-Patterns
- References
Podgląd SKILL.md
---
name: spring-boot-data-access
description: Optimize JPA, Hibernate, and database interactions in Spring Boot. Use when implementing JPA entities, repositories, or database access in Spring Boot.
metadata:
triggers:
files:
- '**/*Repository.java'
- '**/*Entity.java'
keywords:
- jpa-repository
- entity-graph
- transactional
- n-plus-1
---
# Spring Boot Data Access
## **Priority: P0 (CRITICAL)**
## Configure JPA and Spring Data
- **Read-Only**: Default to **`@Transactional(readOnly = true)`** on Services to optimize DB resources.
- **Projections**: Use **`Java Records`** for **Read-Only** query results. Avoid fetching full **`@Entity`** objects when not necessary.
- **Pagination**: ALWAYS use **`Pageable`** and **`Slice`** (or `Page`) to prevent loading massive datasets.
- **Spring Data**: Prefer **`JpaRepository`** and **`Query methods`**. Use **`@Query`** with JPQL for complex logic. Use Flyway or Liquibase for migrations; never use `ddl-auto=create` in production.
See [implementation examples](references/implementation.md) for repository projections, EntityGraph, and transactional patterns.
## Optimize Queries and Transactions
- **N+1 Problem**: Fix **`N+1`** selects using **`JOIN FETCH`** (JPQL) or **`@EntityGraph`**.
- **Open-In-View**: Set `spring.jpa.open-in-view=false` in **`application.yaml`**.
- **Bulk Operations**: Use **`@Modifying`** with `@Query` for updates/deletes to bypass EntityManager overhead.
- **Connection Pool**: Configure **`HikariCP`** with explicit `maximum-pool-size`. Tune Hikari pool-size based on expected concurrent queries.
## Anti-Patterns
- **No N+1 Selects**: Use **`JOIN FETCH`** or **`@EntityGraph`** instead of lazy-loading in loops.
- **Entity Inflation**: Don't use `@Data` (Lombok) on Entities as it breaks Proxy and `hashCode`/`equals` performance.
- **Transactional Leak**: Don't put `@Transactional` on public `Repository` methods if `Service` already transactional.
- **Raw SQL**: Avoid native SQL unless JPQL/Criteria API insufficient.
## References
- [Implementation Examples](references/implementation.md)
Pliki w paczce (3)
- SKILL.md 2 KB
- evals/evals.json 2 KB
- references/implementation.md 2 KB
Wersje
W bazie nie ma innych skilli o nazwie spring-boot-data-access.
Migawka bazy z 28.10.2026 · wersja paczki e06598ff2b15 (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100spring-boot-patterns
Podpowiada wzorce Spring Boot dla kontrolerów, serwisów i repozytoriów, w tym warstwy, konfigurację i wyjątki. - 100jpa-patterns
Stosuje wzorce JPA i Hibernate w Spring Boot: projekt encji i relacji, optymalizacja zapytań, transakcje, audyt, indeksy, paginacja i pooling oraz naprawa problemu N+1. - 100spring-data-jpa
Generuje i refaktoryzuje encje, repozytoria, projekcje i zapytania JPA w Spring Boot 4 z Hibernate 7. - 100spring-boot
Wspiera tworzenie w Spring Boot 4 REST API, warstwy JPA, bezpieczeństwa, testów i usług chmurowych. - 100spring-data-jpa
Wspiera Spring Data JPA w aplikacjach Spring Boot: repozytoria, encje, relacje, zapytania, paginacja i audyt, na podstawie wzorców z projektów produkcyjnych. - 90java-spring-boot-expert
Pomaga budować aplikacje Spring Boot 3.x, mikroserwisy i reaktywne aplikacje Java, z Spring Data JPA i Spring Security 6.