Skip to content
Development
Skill

/312-frameworks-spring-data-jdbc

Use when you need to use Spring Data JDBC with Java records — including entity design with records, repository pattern, immutable updates, aggregate relationships, custom queries, transaction management, and avoiding N+1 problems. This should trigger for requests such as Review

From plugin
plinth
423125 skills9 agents13 commands
Install
$ npx -y skills add jabrena/plinth --skill 312-frameworks-spring-data-jdbc --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/312-frameworks-spring-data-jdbc

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when you need to use Spring Data JDBC with Java records — including entity design with records, repository pattern, immutable updates, aggregate relationships, custom queries, transaction management, and avoiding N+1 problems. This should trigger for requests such as Review

SKILL.md

312-frameworks-spring-data-jdbc.SKILL.md
name: 312-frameworks-spring-data-jdbc
description: Use when you need to use Spring Data JDBC with Java records — including entity design with records, repository pattern, immutable updates, aggregate relationships, custom queries, transaction management, and avoiding N+1 problems. This should trigger for requests such as Review Java code for Spring Data JDBC; Apply best practices for Spring Data JDBC in Java code; Model Spring Data JDBC aggregates with Java records; Review Spring Data JDBC repositories and aggregate boundaries; Improve optimistic locking or domain events in Spring Data JDBC. Part of Plinth Toolkit
license: Apache-2.0
metadata:
  author: Juan Antonio Breña Moral
  version: 0.18.0

Spring Data JDBC with Records

Apply Spring Data JDBC guidelines with Java records.

**What is covered in this Skill?**

  • Records for entity classes (immutable, constructor-friendly)
  • @Table for naming when record name differs from the table name
  • @Embedded to inline value-object columns into the parent row without a separate table
  • Repository pattern
  • Immutable updates with static factories for new rows and with* helpers for updates
  • save() INSERT vs UPDATE semantics driven by @Id nullability
  • Aggregate boundaries: one repository per aggregate root, Set for one-to-many inside the root, foreign keys between aggregates
  • Custom queries with @Query and named parameters (no user-input concatenation)
  • Transaction management (@Transactional on services; readOnly where appropriate)
  • Single query loading (N+1 avoidance)

**Scope:** Apply recommendations based on the reference rules and good/bad code examples.

Constraints

Before applying any Spring Data JDBC changes, ensure the project compiles. If compilation fails, stop immediately. After applying improvements, run full verification.

  • **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change
  • **SAFETY**: If compilation fails, stop immediately
  • **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements
  • **BEFORE APPLYING**: Read the reference for detailed rules and good/bad patterns
  • **EDGE CASE**: If request scope is ambiguous, stop and ask a clarifying question before applying changes
  • **EDGE CASE**: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance

When to use this skill

  • Review Java code for Spring Data JDBC
  • Apply best practices for Spring Data JDBC in Java code
  • Model Spring Data JDBC aggregates with Java records
  • Review Spring Data JDBC repositories and aggregate boundaries
  • Improve optimistic locking or domain events in Spring Data JDBC

Workflow

1. **Read reference and assess project context**

Read `references/312-frameworks-spring-data-jdbc.md` and inspect the current project setup before proposing changes.

2. **Gather scope and decide target improvements**

Identify requested outcomes, constraints, and the minimum safe set of changes to apply.

3. **Apply framework-aligned changes**

Implement or refactor configuration/code following the reference patterns and project conventions.

4. **Run verification and report results**

Execute appropriate build/tests and summarize what changed, what was verified, and any follow-up actions.

Reference

For detailed guidance, examples, and constraints, see [references/312-frameworks-spring-data-jdbc.md](references/312-frameworks-spring-data-jdbc.md).

Read more
Ships withplinth

Languages: Español · 中文 Help this project grow: Become a sponsor

Get the whole plugin

Other skills on plinth.