# java-hibernate-jpa

Скилл диагностирует и исправляет ошибки Hibernate и Jakarta Persistence в Java: от проблемы N+1 и пагинации до блокировок и кэширования.

- скилл · `type=skill` · GitHub Copilot · ★ 40451
- Автор: github · официальный репозиторий GitHub
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/github/awesome-copilot/tree/HEAD/skills/java-hibernate-jpa/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/java-hibernate-jpa

## Что делает

Скилл проверяет код сущностей и запросов в чистом Java без привязки к конкретному фреймворку. Он находит частые антипаттерны в связях и методах `equals`/`hashCode`. Агент сверяет структуру сущностей с версией Hibernate: для ветки 6.0–6.1 это Jakarta Persistence 3.0, для 6.2+ — 3.1, а для Hibernate 7 уже требуется Java 17+.

Внутри собраны правила ревью. Скилл запрещает вешать `FetchType.EAGER` на отношения один-к-одному и многие-к-одному, а выборку предписывает настраивать в запросе через `JOIN FETCH` или граф сущностей. Если для числового ключа используется стратегия `IDENTITY`, пакетная вставка JDBC работать не будет. Поэтому скилл переводит проект на `SEQUENCE` с пулом.

Для работы с транзакциями Spring Data или Quarkus Panache понадобятся отдельные специализированные скиллы. Локально допустим режим схемы `update`, но для продакшена инструкция строго требует валидацию вместе с Flyway или Liquibase.

## Установка

### GitHub Copilot (родная платформа)

1. **GitHub CLI**
```bash
gh skill install github/awesome-copilot java-hibernate-jpa
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/java-hibernate-jpa/SKILL.md`

### Claude Code

1. **Через Skills CLI (Vercel)**
```bash
npx skills add github/awesome-copilot --skill java-hibernate-jpa -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/java-hibernate-jpa/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/java-hibernate-jpa/

### Codex

**Вручную: положить файлы**
- Файл: `.agents/skills/java-hibernate-jpa/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/skills/java-hibernate-jpa/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### Gemini CLI

**Командой платформы**
```bash
gemini skills install https://github.com/github/awesome-copilot --path skills/java-hibernate-jpa
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/java-hibernate-jpa/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/github/awesome-copilot/tree/HEAD/skills/java-hibernate-jpa/SKILL.md

## Когда брать
- устранить проблему N+1 и дублирующие запросы SELECT
- настроить выборку без ошибки LazyInitializationException
- исправить генерацию ключей для работы JDBC-батчинга
- убрать аннотации Lombok из сущностей с ассоциациями
- настроить безопасную пагинацию без предупреждения HHH000104

## Примеры запросов агенту
- Проверь сущности в заказе: почему возникает LazyInitializationException при обращении к позициям?
- Оптимизируй батчевую вставку записей и настрой генератор SEQUENCE для сущности Payment
- Посмотри запрос с пагинацией и подскажи, как убрать дублирование строк и утечку памяти

## Похожие
- [mcp-builder](https://affpapa.org/nevibecode/skills/mcp-builder.md) — скилл · 130949 установок
- [claude-api](https://affpapa.org/nevibecode/skills/claude-api.md) — скилл · 74198 установок
- [lark-im](https://affpapa.org/nevibecode/skills/lark-im.md) — скилл · 472900 установок
- [lark-event](https://affpapa.org/nevibecode/skills/lark-event.md) — скилл · 466800 установок
- [caveman-discover](https://affpapa.org/nevibecode/skills/caveman-discover.md) — скилл · 104400 установок
- [migration](https://affpapa.org/nevibecode/skills/migration.md) — скилл · 103900 установок

Из того же набора: [github/awesome-copilot](https://affpapa.org/nevibecode/by/github/awesome-copilot.md) — 949 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
