用途:该技能提供 Spring Data JPA 数据访问的完整指南,涵盖 Repository 模式、自定义查询与性能优化,用于构建生产级数据库访问层。
主要能力:核心部分包括实体注解(@Entity、@Table、@Id 及关联关系)、JpaRepository 与派生查询、@Transactional 与传播行为;进阶部分包括 @Query 的 JPQL 与原生 SQL、接口式与类式投影、@CreatedDate/@LastModifiedDate 审计;高级部分包括 Specification 动态查询、Entity Graph 抓取优化、JOIN FETCH 防止 N+1。
参数:database 枚举(postgresql | mysql | h2,默认 postgresql)、migration_tool 枚举(flyway | liquibase | none,默认 flyway)、fetch_strategy 枚举(lazy | eager,默认 lazy)。
使用方式:通过 Skill("spring-data-jpa") 调用。资料给出实体、Repository、Specification 及 @DataJpaTest + Testcontainers 测试模板等示例。
排错要点:N+1 查询用 @EntityGraph 或 JOIN FETCH;LazyInitializationException 用 @Transactional 或 DTO;数据未保存检查是否缺少 @Transactional。调试可开启 spring.jpa.show-sql=true 并借助 hibernate.generate_statistics。
适用场景:Spring Boot 项目中的数据库访问层开发与优化。限制:资料未提供具体安装命令、收费与平台信息。