К основному содержанию
скилл CX Codex

312-frameworks-spring-data-jdbc — скилл для Claude Code: Spring Data

Скилл для работы с Spring Data JDBC на Java records: сущности, репозитории, границы агрегатов, транзакции и борьба с N+1.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add jabrena/plinth --skill 312-frameworks-spring-data-jdbc -a claude-code
Открыть на GitHub

Что делает 312-frameworks-spring-data-jdbc

Скилл задаёт правила, по которым агент правит код на Spring Data JDBC. Внутри — работа с records как сущностями, аннотации @Table и @Embedded, паттерн репозитория, неизменяемые обновления через статические фабрики и хелперы with*. Отдельно разобрана семантика save(): INSERT или UPDATE зависит от того, пустой ли @Id.

Есть раздел про границы агрегатов: один репозиторий на корень агрегата, Set для связей внутри корня, внешние ключи между агрегатами. Плюс кастомные запросы через @Query с именованными параметрами, @Transactional на сервисах и загрузка одним запросом вместо N+1.

Перед любыми правками скилл требует, чтобы проект собирался: сначала ./mvnw compile или mvn compile, и если компиляция падает — работа останавливается. После изменений прогоняется ./mvnw clean verify или mvn clean verify. Это значит, что на сломанной сборке агент ничего не тронет, и вам не придётся разгребать правки поверх ошибок. Если задача сформулирована расплывчато, скилл останавливается и задаёт уточняющий вопрос.

Какие задачи решает

  • переписать сущности на Java records
  • разложить агрегаты и репозитории по границам
  • убрать N+1 при загрузке связей
  • добавить оптимистичную блокировку и доменные события
  • проверить кастомные запросы на конкатенацию пользовательского ввода

Примеры запросов агенту

  • Проверь этот код на Spring Data JDBC и предложи правки по границам агрегатов
  • Смоделируй агрегат на Java records и покажи, как обновлять его через with*-хелперы
  • Найди в репозиториях места, где связи грузятся по одной, и убери N+1

Как установить 312-frameworks-spring-data-jdbc

1Через Skills CLI (Vercel)

npx skills add jabrena/plinth --skill 312-frameworks-spring-data-jdbc -a claude-code

2Вручную: положить файлы

~/.claude/skills/312-frameworks-spring-data-jdbc/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/312-frameworks-spring-data-jdbc/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о 312-frameworks-spring-data-jdbc

Как установить 312-frameworks-spring-data-jdbc в Claude?

Выполните npx skills add jabrena/plinth --skill 312-frameworks-spring-data-jdbc -a claude-code. Скилл окажется в ~/.claude/skills/312-frameworks-spring-data-jdbc/SKILL.md.

Что делает 312-frameworks-spring-data-jdbc?

Применяет правила Spring Data JDBC к коду на Java records: сущности, репозитории, неизменяемые обновления, границы агрегатов, транзакции и загрузку без N+1.

Что нужно, чтобы скилл сработал?

Проект должен компилироваться: скилл сначала запускает ./mvnw compile или mvn compile и при ошибке останавливается. После правок он прогоняет ./mvnw clean verify или mvn clean verify.

Исходный текст

SKILL.md · Apache-2.0
---
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.19.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).

© Juan Antonio Breña Moral · Apache-2.0 · jabrena/plinth

Похожие скиллы

Всё по теме «Бэкенд и API» →
spring-framework Mindrally Скилл задаёт агенту правила разработки на Spring Framework и Spring Boot: структура слоёв, внедрение зависимостей, тесты, REST. CX Codex +1 731установок spring-boot Claude MPM Team Скилл по Spring Boot 3.x: подсказывает агенту, как устроены авто-конфигурация, внедрение зависимостей, REST-контроллеры и Actuator. Пригодится, когда пишете Java-сервис. CX Codex +1 309установок create-spring-boot-java-project официальный github Создаёт каркас Spring Boot на Java с Maven, базами данных и Docker Compose. Подходит для старта API, которому нужны PostgreSQL, Redis и MongoDB. 9 516установок spring-boot-development manutej Скилл для ИИ-агента, который подсказывает, как писать Spring Boot: авто-конфигурация, внедрение зависимостей, REST-контроллеры, Spring Data и Spring Security. CX Codex +1 534установок spring-data-jpa giuseppe-trisciuoglio Шаблоны и правила для слоя персистентности на Spring Data JPA: создание репозиториев, пагинация, аудит сущностей и настройка транзакций. CX Codex +1 4 100установок spring-data-neo4j giuseppe-trisciuoglio Настраивает работу со Spring Data Neo4j в проектах на Spring Boot. Помогает писать Cypher-запросы, маппить графовые сущности и готовить тесты с Neo4j Harness. CX Codex +1 3 800установок

Из того же набора40

161-java-profiling-detect Скилл ставит сбор данных о производительности Java-приложения: CPU, память, блокировки, GC и I/O. Пригодится, когда код тормозит и надо понять почему. CX Codex +1 337установок 412-frameworks-quarkus-panache Скилл для работы с Hibernate ORM Panache в Quarkus: подсказывает паттерны запросов, проекций и блокировок, проверяя сборку до и после правок. CX Codex +1 331установок 402-frameworks-quarkus-rest Скилл для проектирования и ревью REST API на Quarkus: ресурсы JAX-RS, валидация, коды ответов, версионирование и кэширование. CX Codex +1 331установок 133-java-testing-acceptance-tests Скилл превращает согласованные Gherkin-сценарии в приёмочные тесты Java: RestAssured, фикстуры БД и Kafka, WireMock для внешних API. CX Codex +1 329установок 311-frameworks-spring-jdbc Скилл для ревью и написания JDBC-кода на Spring: подсказывает JdbcClient, ловит SQL-инъекции и правит границы транзакций. CX Codex +1 328установок 012-agile-epic Скилл ведёт агента по вопросам и собирает готовый Markdown-документ эпика: ценность, объём, критерии успеха, риски. CX Codex +1 326установок 323-frameworks-spring-boot-testing-acceptance-tests Скилл превращает согласованные Gherkin-сценарии в приёмочные тесты Spring Boot: TestRestTemplate, Testcontainers, WireMock. CX Codex +1 324установок 401-frameworks-quarkus-core Скилл для ревью и правки ядра Quarkus: CDI-бины, профили, интерцепторы, виртуальные потоки. Пригодится, когда проект на Java уже собирается и пора навести порядок в конфигурации. CX Codex +1 321установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой