https://github.com/typeorm/typeorm
https://www.jianshu.com/p/1c4650e3718a
https://ruiming.me/typeorm-worth-a-try/
在传统的使用 JavaScript 编写的 Node.js 后端项目中,比较有名的两个 ORM/ODM 是 Sequelize 和 Mongoose, 但他们对 TypeScript 的支持是很差的, 并不说运行不了, 但是无论是写法还是静态检查上面都很弱. Sequelize/Mongoose 大量使用了对象和函数, 而不是类. 举个例子, 在 model 的定义上, 需要单独为每个 model 在写一次 interface, 十分不方便.
TypeScript 的一个特点之一是类可以当做接口使用, 因此如果可以用类的方式描述 model, 结合装饰器, 通过反射得到数据类型, 可以极大程度方便 model 的书写.
所以我很快就改用了 TypeORM. 到现在也用了很久了, 也踩了不少坑, 我也参与了部分讨论, 贡献了部分代码. 直到上个月, 它才发布了 0.1.0 版本, 截止目前它在 GitHub 上有 3704 个 star.
事实上 TypeORM 的文档已经非常齐全非常友好, 传送门: http://typeorm.io/#/ . 这篇文章是想说一说 TypeORM 那些我觉得很不错的功能, 并结合之前我所使用过的 Sequelize, 谈谈他们的一些区别, 以及我使用 TypeORM 的一些感受