> spring-boot-data-access

Best practices for JPA, Hibernate, and Database interactions in Spring Boot. Use when implementing JPA entities, repositories, or database access in Spring Boot. (triggers: **/*Repository.java, **/*Entity.java, jpa-repository, entity-graph, transactional, n-plus-1)

fetch
$curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/spring-boot-data-access?format=md"
SKILL.mdspring-boot-data-access

Spring Boot Data Access

Priority: P0

Implementation Guidelines

JPA & Hibernate

  • Read-Only: Default to @Transactional(readOnly = true) on Services. Override only on write methods.
  • Projections: Use Java Records for read-only queries. Avoid fetching full Entities.
  • Pagination: ALWAYS use Pageable for collections.
  • Open-In-View: Set spring.jpa.open-in-view=false to detect lazy loading issues early.

Query Optimization

  • N+1 Problem: Use JOIN FETCH (JPQL) or @EntityGraph for relationships.
  • Bulk Operations: Use @Modifying for batch updates/deletes to bypass Entity overhead.

Anti-Patterns

  • N+1 Selects: **No loops in loops**: Fetch eagerly or use graphs.
  • Logic in Queries: **No complex JPQL**: Use Service logic.
  • Returning Streams: **No raw Streams**: Use Lists or Page.

References

┌ stats

installs/wk0
░░░░░░░░░░
github stars341
██████████
first seenMar 17, 2026
└────────────

┌ repo

HoangNguyen0403/agent-skills-standard
by HoangNguyen0403
└────────────

┌ tags

└────────────