全书目录

第二十四篇:TypeORM 完全指南 —— 数据映射施工队宇宙

第十四章:常见误区

2 分钟 554 字 第 446 / 962 个阅读单元
#误区 1:Entity 就是系统里的万能模型

不是。

text
Entity 是数据库施工蓝图
不是 DTO
不是 ViewModel
不是接口返回的唯一形态
#误区 2:create() 就已经写库了

不是。

text
create = 在内存里组装对象
save   = 才是落库施工
#误区 3:有了 ORM 就不用懂 SQL

不对。
你还是必须理解:

  • 主键 / 外键
  • 索引
  • join
  • 事务
  • 查询代价
  • 数据库约束

ORM 只是帮你组织施工,不会替你理解地基。

#误区 4:关系越 eager 越方便

短期方便,长期经常变成:

  • 过度取数
  • N+1
  • 性能问题定位困难

关系加载应该按业务需求拿,不是“怕麻烦就全带”。

#误区 5:事务里继续用全局 repository 没关系

这是典型坑。

text
事务里的操作必须走事务提供的 manager / repository

否则你以为在一个封闭施工区里,实际已经有人偷偷从旁门进出了。

#误区 6:synchronize 可以长期替代 migration

非常危险。

sychronize 更像原型期自动施工。
线上正式环境要靠 migration 管结构改造历史。

#误区 7:QueryBuilder 比 Repository 高级,所以什么都用 QueryBuilder

错。
工具不是越重越专业。

text
简单查询 -> Repository
复杂查询 -> QueryBuilder

这样才稳。

#误区 8:TypeORM 和 Prisma 只是语法不同

说浅了。

它们背后的工作流心智明显不同:

  • TypeORM 更 ORM 施工队
  • Prisma 更 schema-first 规划院

选型差异不只是 API 手感。