SKILL

jpa-patterns

Spring Boot中的JPA/Hibernate模式,用于实体设计、关系处理、查询优化、事务管理、审计、索引、分页和连接池。

适用对象:对象待分类。自动收录 · 待核查。

原作者说明节选

从固定版本的 SKILL.md 提取,保留原文语言。以下内容属于作者说明,本站尚未验证安装、兼容或运行结果。

查看中文原文

原文涵盖的主题

  • JPA/Hibernate 模式
  • 何时激活
  • 实体设计
  • 关联关系和 N+1 预防
  • 存储库模式
  • 事务
  • 分页
  • 索引和性能

用于 Spring Boot 中的数据建模、存储库和性能调优。 设计 JPA 实体和表映射时 定义关系时 (@OneToMany, @ManyToOne, @ManyToMany) 优化查询时 (N+1 问题预防、获取策略、投影) 配置事务、审计或软删除时 设置分页、排序或自定义存储库方法时 调整连接池 (HikariCP) 或二级缓存时 启用审计: 默认使用延迟加载;需要时在查询中使用 JOIN FETCH 避免在集合上使用 EAGER;对于读取路径使用 DTO 投影 使用投影进行轻量级查询: 使用 @Transactional 注解服务方法 对读取路径使用 @Transactional(readOnly = true) 以进行优化 谨慎选择传播行为;避免长时间运行的事务 对于类似游标的分页,在 JPQL 中包含 id > :lastId 并配合排序。 为常用过滤器添加索引(status、slug、外键) 使用与查询模式匹配的复合索引(status, createdat) 避免 select ;仅投影需要的列 使用 saveAll 和 hibernate.jdbc.batchsize 进行批量写入 推荐属性: 对于 PostgreSQL LOB 处理,添加: 一级缓存是每个 EntityManager 的;避免在事务之间保持实体 对于读取频繁的实体,谨慎考虑二级缓存;验证驱逐策略 使用 Flyway 或 Liquibase;切勿在生产中依赖 Hibernate 自动 DDL 保持迁移的幂等性和可添加性;避免无计划地删除列 首选使用 Testcontainers 的 @DataJpaTest 来镜像生产环境 使用日志断言 SQL 效率:设置 logging.level.org.hibernate.SQL=DEBUG 和 logging.level.org.hibernate.orm.jdbc.bind=TRACE 以查看参数值 请记住:保持实体精简,查询有针对性,事务简短。通过获取策略和投影来预防 N+1 问题,并根据读写路径建立索引。

来源仓库
affaan-m/ECC
源文件
docs/zh-CN/skills/jpa-patterns/SKILL.md
固定版本
d2ef2680594f9a17526a6e1a2e18b3d242c5d17b
阅读完整原作者说明 ↗

准备条件

  • 本条仅收录原作者的技能元数据;请阅读完整说明,确认依赖、许可与使用条件。

第一件可以尝试的小事

先阅读原作者说明,再决定是否在自己的 AI 工具中使用。

对应 AI 工具说明

作者有说明不等于本站实机验证。没有证据时,不自动标为兼容、安全或免费。

来源与内容状态

本条为自动发现的元数据,尚未完成人工文档核查;适用性与运行结果待核查。

原作者:affaan-m/ECC · 原作者仓库元数据。文档核查:未核查。最近来源检查:2026-11-09T15:01:42.389Z。

分类由名称、说明与路径规则生成,分类不代表已核实适配。

许可与权利归属

MIT。第三方内容及版权归原作者,使用条件以原文为准。

许可原文 ↗

本站没有因同步、复制或用户自报成功而将资源标为运行验证通过。

限制与注意事项

  • 元数据收录不代表本站已经安装、适配、实测或进行安全审查。