技能说明
适合 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 投影。
使用步骤
- 01
第一步:读取项目约定
先检查现有实体、ID 生成方式、事务边界和 Kotlin/JPA 插件配置,避免把局部建议当成全局规则。
- 02
第二步:检查实体模型
确认实体不是 data class,ID 与相等判断稳定,toString 和序列化不会触发不必要的懒加载。
- 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