GORM
覆盖 GORM 的核心用法、关联预加载和生产实践。
-
GORM(三):生产环境最佳实践
GORM 在生产环境中最常翻车的地方不是功能缺失,而是默认行为与开发者直觉不一致:零值更新被吞、Session 条件污染、软删除隐式过滤、连接池耗尽。本篇系统梳理连接池四参数调优公式、Logger/PreparedStmt/DBResolver 配置、12 个真实生产陷阱(附正反代码)、性能优化策略、以及 GORM/sqlc/sqlx/Ent/Bun 五种方案的选型决策矩阵。
-
GORM(二):关联与预加载
GORM 支持四种关联类型(Belongs To / Has One / Has Many / Many To Many)和多态关联。默认是懒加载(不自动加载关联),用 Preload 做 eager loading(2 条 SQL 解决 N+1),用 Joins 做单条 JOIN 查询(适合按关联字段过滤)。Association Mode 提供 Find/Append/Replace/Delete/Clear/Count 六种操作管理关联关系。
-
GORM(一):核心用法与设计决策
GORM 是 Go 生态最主流的 ORM,通过 struct tag 映射模型、method chaining 构建查询、自动事务保证写入一致性。核心概念:gorm.Model 提供 ID/时间戳/软删除,Session/Statement 架构解决链式调用的状态污染问题,Save() 更新全字段而 Updates() 只更新非零值字段。v1.30.0+ 引入 Generics API 提供类型安全。