mcpField
3
312-frameworks-spring-data-jdbc

312-frameworks-spring-data-jdbc

github.com/jabrena开发456332 次安装1 天前更新
代码仓库

关于 312-frameworks-spring-data-jdbc

此 Skill 用于在 Java record 场景中应用 Spring Data JDBC 实践,涵盖实体建模、仓库、聚合、查询和事务。它面向维护 Spring Data JDBC 项目的开发者,要求修改前编译,并在修改后进行完整验证。

主要功能

  1. 01使用 Java record 建模实体
  2. 02定义聚合与仓库边界
  3. 03处理不可变更新和 save 语义
  4. 04编写带参数的自定义查询
  5. 05遵循事务与数据加载指导
  6. 06要求编译及完整验证

适用场景

  1. 01审查 Spring Data JDBC 实体和仓库
  2. 02调整聚合边界与不可变更新
  3. 03避免 N+1 加载和不安全的查询构造

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jabrena/plinth --skill 312-frameworks-spring-data-jdbc

安装后在 Claude Code 中输入/312-frameworks-spring-data-jdbc确认已加载。

附带文件references/312-frameworks-spring-data-jdbc.md

详细介绍

使用 Records 的 Spring Data JDBC

使用 Java records 应用 Spring Data JDBC 指南。

此 Skill 涵盖哪些内容?

  • 将 Records 用作实体类(不可变,便于构造)
  • 当 Record 名称与表名不同时,使用 @Table 指定名称
  • 使用 @Embedded 将值对象列内联到父行中,而不单独建表
  • Repository 模式
  • 不可变更新:使用静态工厂创建新行,并使用 with* 辅助方法进行更新
  • save() 的 INSERT 与 UPDATE 语义由 @Id 是否为 null 决定
  • 聚合边界:每个聚合根对应一个 Repository;聚合根内部的一对多关系使用 Set;聚合之间使用外键
  • 使用 @Query 和命名参数编写自定义查询(不拼接用户输入)
  • 事务管理(在服务上使用 @Transactional;适当使用 readOnly)
  • 单次查询加载(避免 N+1)

范围: 根据参考规则和正反代码示例应用建议。

约束

在应用任何 Spring Data JDBC 更改前,确保项目可以编译。如果编译失败,立即停止。应用改进后,运行完整验证。

  • 强制要求:应用任何更改前,运行 ./mvnw compile 或 mvn compile
  • 安全要求:如果编译失败,立即停止
  • 验证要求:应用改进后,运行 ./mvnw clean verify 或 mvn clean verify
  • 应用前:阅读参考文档,了解详细规则和正反模式
  • 边缘情况:如果请求范围不明确,先停止并提出澄清问题,再应用更改
  • 边缘情况:如果缺少必要的输入、文件或工具,说明缺少的内容,并询问是否继续提供设置指导

何时使用此 Skill

  • 审查 Spring Data JDBC 的 Java 代码
  • 在 Java 代码中应用 Spring Data JDBC 最佳实践
  • 使用 Java Records 为 Spring Data JDBC 建模聚合
  • 审查 Spring Data JDBC Repository 和聚合边界
  • 改进 Spring Data JDBC 中的乐观锁或领域事件

工作流

  1. 阅读参考文档并评估项目上下文

阅读 references/312-frameworks-spring-data-jdbc.md,并检查当前项目设置,再提出更改建议。

  1. 明确范围并确定目标改进

确定所需结果、约束条件,以及需要应用的最小安全更改集。

  1. 应用符合框架规范的更改

按照参考模式和项目惯例实现或重构配置/代码。

  1. 运行验证并报告结果

执行适当的构建/测试,并总结更改内容、验证结果以及后续操作。

参考

详细指南、示例和约束,请参阅 references/312-frameworks-spring-data-jdbc.md。

评论

支持 Markdown