SuperAPI AI 工具集

312-frameworks-spring-data-jdbc

编程与开发

查看项目

更新于 10-15 09:16

技能介绍

用途

该技能用于在 Java 项目中应用 Spring Data JDBC 与 Java records 结合的开发规范。它面向需要审查或改进 Spring Data JDBC 代码的场景,依据参考规则和正反代码示例给出建议。

主要能力

技能覆盖以下内容:

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

使用方式

技能的工作流包括:

  1. 阅读参考并评估项目上下文:阅读 references/312-frameworks-spring-data-jdbc.md 并检查当前项目设置,然后再提出改动。
  2. 收集范围并确定目标改进:识别请求的结果、约束以及最小安全改动集。
  3. 应用与框架一致的改动:按照参考模式和项目约定实现或重构配置/代码。
  4. 运行验证并报告结果:执行适当的构建/测试,并总结改动了什么、验证了什么以及后续操作。

约束条件:

  • 在应用任何 Spring Data JDBC 改动之前,确保项目可以编译。如果编译失败,立即停止。
  • 强制要求:在应用任何改动之前运行 ./mvnw compile 或 mvn compile
  • 安全要求:如果编译失败,立即停止
  • 验证要求:在应用改进之后运行 ./mvnw clean verify 或 mvn clean verify
  • 应用之前:阅读参考以了解详细规则和正反模式
  • 边界情况:如果请求范围不明确,停止并在应用改动前提出澄清问题
  • 边界情况:如果缺少必需的输入、文件或工具,报告缺少什么并询问是否继续提供设置指导

适用场景

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

限制

技能本身未提供具体的收费、价格、平台或效果信息。使用前需确保项目可编译,并具备 Maven 工具链(./mvnw 或 mvn)。详细规则、示例和约束需查阅 references/312-frameworks-spring-data-jdbc.md。