返回技能库
开发 / Kotlin精选

Kotlin JPA 实体映射

为 Kotlin + Spring Data JPA/Hibernate 设计实体、身份相等、关联关系和唯一约束,避免常见 ORM 陷阱。

查看安装方式

技能说明

适合 Kotlin/Spring 后端开发与 ORM 代码审查,重点处理实体身份、唯一约束、懒加载和 N+1 查询。修改前请结合项目已有约定和真实 SQL/测试验证。

关于此技能

Kotlin JPA 实体映射技能面向 Spring Data JPA 和 Hibernate,指导 Agent 设计实体身份、相等判断、关联关系、唯一约束和查询抓取策略,重点规避 data class 实体、懒加载异常和 N+1 查询等 Kotlin 常见问题。

核心能力

实体与身份设计

区分 DTO 与持久化实体,避免用 data class 表示实体,并按项目约定设计稳定的 ID 相等和 hashCode。

约束与并发正确性

同时使用数据库唯一约束和应用层检查处理幂等场景,识别竞态与数据完整性风险。

关联与查询排查

检查懒加载、双向关系、级联、分页抓取和批量查询,要求用真实 SQL 或查询数量验证 N+1。

适用场景

开发 Kotlin 后端

设计订单、用户、库存等 Spring Data JPA 实体和关系映射。

审查 ORM 代码

排查 equals/hashCode、toString、懒加载、级联和实体直接出参等隐患。

处理查询性能

根据实际查询计划选择 EntityGraph、JOIN FETCH、批量抓取或 DTO 投影。

使用步骤

  1. 01

    第一步:读取项目约定

    先检查现有实体、ID 生成方式、事务边界和 Kotlin/JPA 插件配置,避免把局部建议当成全局规则。

  2. 02

    第二步:检查实体模型

    确认实体不是 data class,ID 与相等判断稳定,toString 和序列化不会触发不必要的懒加载。

  3. 03

    第三步:核对约束与查询

    把唯一性放进数据库并补充应用错误处理,再用 SQL 日志或查询统计验证抓取方案。

常见问题

为什么不能直接用 data class 做 JPA 实体?+

data class 会按全部字段生成 equals/hashCode 和 copy,实体状态变化或懒加载代理可能导致集合和身份判断异常。

应用层检查唯一性够不够?+

不够。并发场景下应用检查有竞态,必须由数据库唯一约束兜底。

这个技能会自动修复 ORM 问题吗?+

它提供设计和审查指导,实际修改前仍需结合项目约定、SQL 日志、测试和事务边界验证。

安装前检查

把兼容性、来源和安装入口先看清楚,再放进自己的工作流。

信息卡
兼容平台

Codex · Claude Code · Cursor

来源状态

已提供来源链接

安装方式

命令可直接复制

最近整理

2026/08/27

安装提醒:即使有清晰的来源和安装方式,也建议先阅读 SKILL.md,确认它会访问哪些文件和服务。

安装命令
npx skills add Kotlin/kotlin-agent-skills

适用平台与标签

CodexClaude CodeCursorGitHub Copilot兼容 Agent Skills#Kotlin#JPA#Hibernate#Spring