TypeORM 是一个面向 TypeScript 与 JavaScript 的 ORM 框架,支持活动记录与数据映射两种模式,以装饰器定义实体,深度契合 TypeScript,常与 NestJS 等企业级框架搭配使用。

| 类型 | ORM 框架 |
| 语言 | TypeScript/JavaScript |
| 运行环境 | Node.js |
| 支持模式 | 活动记录、数据映射 |
TypeORM 是一个运行于 Node.js、面向 TypeScript 与 JavaScript 的对象关系映射(ORM)框架,它使用装饰器(decorator)来定义实体和字段,并同时支持活动记录(Active Record)与数据映射(Data Mapper)两种设计模式。
TypeORM 深受 Hibernate、Doctrine 等传统 ORM 影响,把成熟的企业级 ORM 概念带入了 TypeScript 世界。它支持 PostgreSQL、MySQL、MariaDB、SQLite、Microsoft SQL Server 以及部分 NoSQL 数据库。凭借对 TypeScript 装饰器与类的原生契合,它在需要清晰实体建模的项目中广受使用。
TypeORM 适合使用 TypeScript 构建的中大型后端服务,尤其是采用 NestJS 的企业级项目。对于偏好传统 ORM 编程模型、注重实体关系明确表达、需要数据映射仓储模式的团队,它是一个契合度较高的选择。
问:活动记录与数据映射该如何选?答:活动记录把查询方法挂在实体上,写法简洁,适合小型应用;数据映射把持久化逻辑放入独立的仓储(Repository),职责更分离,适合大型、需要清晰分层的项目。TypeORM 两者皆支持。
问:TypeORM 和 Prisma 的主要差别是什么?答:TypeORM 沿用经典 ORM 模式并以装饰器实体为中心;Prisma 以 schema 文件加代码生成为核心,提供更强的端到端类型安全。二者理念不同,可依据项目风格与类型需求取舍。

| 类型 | ORM 框架 |
| 语言 | TypeScript/JavaScript |
| 运行环境 | Node.js |
| 支持模式 | 活动记录、数据映射 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧