用途
该技能面向使用 Micronaut Data 进行关系型数据访问的开发场景,帮助在 Micronaut 项目中应用一致的实体建模、仓库定义、查询、事务与测试模式。适用于审查或实现 Micronaut Data 的仓库与实体、在持久层添加事务/分页/投影、建模实体与仓库、审查事务与可分页查询,以及改进投影或乐观锁。
主要能力
技能覆盖以下 Micronaut Data 主题:
- 实体映射:@MappedEntity、@Id、@GeneratedValue、@MappedProperty 用于列映射。
- 仓库接口:@Repository 接口继承 CrudRepository / PageableRepository。
- 查询:派生 finder 方法,以及带命名参数的 @Query。
- 事务:在 @Singleton 服务上使用 @Transactional,并在适当场景使用 readOnly。
- 分页:使用 Page 和 Pageable 处理列表端点。
- 投影:面向读密集查询的 DTO/接口投影。
- 乐观锁:使用 @Version。
- 集成测试:@MicronautTest + TestPropertyProvider + Testcontainers。
技能范围是依据参考规则与正反代码示例给出建议。
使用方式
技能定义了明确的工作流:
- 阅读参考并评估项目上下文:阅读 references/512-frameworks-micronaut-data.md,并在提出改动前检查当前项目设置。
- 收集范围并确定目标改进:识别请求的结果、约束以及最小安全改动集。
- 应用与框架对齐的改动:按照参考模式与项目约定实现或重构配置/代码。
- 运行验证并报告结果:执行适当的构建/测试,并总结改动内容、验证结果与后续动作。
技能包含强制约束:
- 在持久化改动前先编译;改动后验证完整构建。
- 强制要求:在应用任何改动前运行 ./mvnw compile 或 mvn compile。
- 安全要求:如果编译失败,立即停止。
- 验证要求:在应用改进后运行 ./mvnw clean verify 或 mvn clean verify。
- 应用前:阅读参考以获取详细规则与示例。
边界情况处理:
- 如果用户目标不明确,停止并在编辑文件或运行项目级命令前提出澄清问题。
- 如果缺少所需上下文、文件、凭据或工具,明确报告阻塞点,并询问是继续设置还是提供回退指导。
- 如果请求的改动与项目约束或安全边界冲突,解释冲突并请用户确认偏好的取舍。
适用场景
- 审查或实现 Micronaut Data 仓库与实体。
- 在 Micronaut 持久层添加事务、分页或投影。
- 建模 Micronaut Data 实体与仓库。
- 审查 Micronaut Data 事务与可分页查询。
- 使用 Micronaut Data 改进投影或乐观锁。
限制
技能本身未提供具体价格、平台支持范围或效果保证等信息,暂未提供。详细规则、示例与约束需查阅 references/512-frameworks-micronaut-data.md。