SuperAPI AI 工具集

jpa-patterns

设计与创作

查看项目

更新于 10-15 21:09

技能介绍

用途:在 Spring Boot 项目中指导 JPA/Hibernate 的数据建模、仓储设计与性能调优,适用于设计实体与表映射、定义关联、优化查询、配置事务与审计、分页排序、连接池与缓存调优等场景。

主要能力:实体设计上使用 @Entity、@Table 配合索引定义,@Enumerated(EnumType.STRING) 存枚举,@CreatedDate/@LastModifiedDate 配合 @EnableJpaAuditing 实现审计。关联默认懒加载,集合避免 EAGER,需要时用 JOIN FETCH 或 DTO 投影防止 N+1。仓储基于 JpaRepository,支持派生查询、@Query 分页与轻量投影接口。事务在服务方法上用 @Transactional,读路径用 @Transactional(readOnly = true),注意传播行为并避免长事务。分页用 PageRequest 配合 Sort,游标式分页可在 JPQL 中加 id > :lastId 并排序。性能上为常用过滤字段与复合查询模式建索引,避免 select *,用 saveAll 与 hibernate.jdbc.batch_size 批量写入。连接池给出 HikariCP 推荐配置,如 spring.datasource.hikari.maximum-pool-size=20、minimum-idle=5、connection-timeout=30000、validation-timeout=5000;PostgreSQL LOB 可加 spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true。缓存方面说明一级缓存随 EntityManager,二级缓存需谨慎并验证淘汰策略。迁移建议用 Flyway 或 Liquibase,生产环境不依赖 Hibernate 自动 DDL。测试推荐 @DataJpaTest 配合 Testcontainers,并通过日志 logging.level.org.hibernate.SQL=DEBUG 与 logging.level.org.hibernate.orm.jdbc.bind=TRACE 检查 SQL 效率。

限制:资料未提供具体版本要求、依赖坐标、完整配置示例及性能基准数据,实际使用需结合项目情况验证。