用途:在 Spring Boot 项目中指导 JPA/Hibernate 的数据建模、仓储设计与性能调优。
主要能力:实体设计(@Entity、@Table 索引、@Enumerated、@CreatedDate/@LastModifiedDate 审计字段,配合 @EnableJpaAuditing 启用审计);关联与 N+1 预防(默认懒加载,集合避免 EAGER,必要时用 JOIN FETCH,读路径用 DTO 投影);仓储模式(继承 JpaRepository,派生查询与 @Query,投影接口做轻量查询);事务(服务方法加 @Transactional,读路径用 @Transactional(readOnly = true),谨慎选择传播行为,避免长事务);分页(PageRequest 配合 Sort,游标式分页可在 JPQL 中用 id > :lastId 加排序);索引与性能(为常用过滤字段与查询模式建索引,避免 select *,用 saveAll 与 hibernate.jdbc.batch_size 批量写入);连接池(HikariCP 的 maximum-pool-size、minimum-idle、connection-timeout、validation-timeout 等属性,PostgreSQL LOB 可加 hibernate.jdbc.lob.non_contextual_creation=true);缓存(一级缓存按 EntityManager,跨事务不保留实体,二级缓存需谨慎并验证淘汰策略);迁移(用 Flyway 或 Liquibase,生产环境不依赖 Hibernate 自动 DDL,迁移保持幂等与增量);测试(@DataJpaTest 配合 Testcontainers,通过日志级别 org.hibernate.SQL 与 org.hibernate.orm.jdbc.bind 检查 SQL 效率与参数)。
使用方式:将上述注解、查询与配置属性应用到 Spring Boot 实体、仓储、服务与配置类中。
适用场景:Spring Boot 应用的数据访问层开发与调优。
限制:资料未提供具体版本要求、依赖坐标、完整配置示例与性能基准,实际效果需结合项目验证。