kotlin-backend-jpa-entity-mapping
Корректно моделирует код Kotlin для Spring Data JPA и Hibernate: проектирование сущностей, отношения, планы выборки и уникальность. Помогает при создании сущностей, диагностике N+1, LazyInitializationException и предотвращении Kotlin-специфичных ошибок ORM.
Что делает навык
Навык обеспечивает корректное проектирование сущностей JPA в проектах Kotlin + Spring Data JPA, предотвращая ошибки, связанные с использованием data class для сущностей. Он помогает управлять стратегиями идентификации, ограничениями уникальности и жизненным циклом объектов, избегая проблем с семантикой идентичности Hibernate.
Когда применять
- Создание новых JPA-сущностей в Kotlin-проектах с использованием Spring Data JPA.
- Диагностика и исправление проблем с идентичностью объектов, вызванных использованием data class.
- Настройка стратегий идентификации и ограничений уникальности для сущностей.
- Проверка совместимости классов с проксированием и поддержкой no-arg плагина.
Как работает
- Использовать обычные классы (regular class) вместо data class для JPA-сущностей, оставляя data class только для DTO.
- Разделять транспортные DTO и сущности хранения данных, если проект не использует общую модель.
- Моделировать обязательные столбцы как non-null только тогда, когда это безопасно с точки зрения жизненного цикла объекта и процесса сохранения.
- Применять lateinit только при явном согласии проекта с компромиссами и безопасном жизненном цикле.
- Проверить наличие плагина kotlin("plugin.jpa") или аналогичной поддержки no-arg при наличии JPA-сущностей.
- Убедиться, что классы и их члены совместимы с проксированием там, где это необходимо.
Примеры запросов агенту
Описание составлено по SKILL.md навыка, сверено 10.10.2026.
Как подключить
SKILL.md к навыкам ассистентаНавык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.