很多人第一次接触 Prisma,会问一句:
“它不就是 ORM 吗?”
回答是:
是,但如果你脑子里只有‘对象映射数据库’那种老式 ORM 心智,你会低估它。
传统 ORM 常见心智是:
数据库表 <-> 实体类 Entity
一行记录 <-> 一个对象实例
对象方法 <-> 保存 / 更新 / 删除而 Prisma 更像这样:
Prisma Schema
│
├── 描述数据模型
├── 描述关系
├── 驱动代码生成
└── 驱动 migration
│
▼
Prisma Client
│
├── 类型安全查询
├── 明确的 relation 读取
├── 明确的事务 API
└── 必要时可下沉 raw SQL#Prisma 和很多传统 ORM 的关键区别
它是 schema 驱动的
你先写数据模型,再生成 Client,再让迁移系统跟上。它返回的是普通 JS/TS 对象
不是那种带生命周期魔法、懒加载魔法、脾气很大的“胖实体对象”。它把类型系统接到了数据库入口
TypeScript 不再只管内存里的对象,也开始管数据库查询返回什么。它把 migration 也纳入同一套心智
你不是只“查库”,而是在维护一套可演化的数据契约。
所以更准确地说:
Prisma 既是 ORM,也是数据访问层工具链。