TypeORM 是一個ORM (opens new window)框架,它可以運行在 NodeJS、Browser、Cordova、PhoneGap、Ionic、React Native、Expo 和 Electron 平台上,可以與 TypeScript 和 JavaScript (ES5,ES6,ES7,ES8)一起使用。 它的目標是始終支持最新的 JavaScript 特性並提供額外的特性以幫助你開發任何使用數據庫的(不管是只有幾張表的小型應用還是擁有多數據庫的大型企業應用)應用程序。
不同於現有的所有其他 JavaScript ORM 框架,TypeORM 支持 Active Record 和 Data Mapper 模式,這意味着你可以以最高效的方式編寫高質量的、松耦合的、可擴展的、可維護的應用程序。
TypeORM 參考了很多其他優秀 ORM 的實現, 比如 Hibernate (opens new window), Doctrine (opens new window)和 Entity Framework (opens new window)。
TypeORM 的一些特性:
- 支持 DataMapper 和 ActiveRecord (隨你選擇)
- 實體和列
- 數據庫特性列類型
- 實體管理
- 存儲庫和自定義存儲庫
- 清晰的對象關系模型
- 關聯(關系)
- 貪婪和延遲關系
- 單向的,雙向的和自引用的關系
- 支持多重繼承模式
- 級聯
- 索引
- 事務
- 遷移和自動遷移
- 連接池
- 主從復制
- 使用多個數據庫連接
- 使用多個數據庫類型
- 跨數據庫和跨模式查詢
- 優雅的語法,靈活而強大的 QueryBuilder
- 左聯接和內聯接
- 使用聯查查詢的適當分頁
- 查詢緩存
- 原始結果流
- 日志
- 監聽者和訂閱者(鈎子)
- 支持閉包表模式
- 在模型或者分離的配置文件中聲明模式
- json / xml / yml / env 格式的連接配置
- 支持 MySQL / MariaDB / Postgres / SQLite / Microsoft SQL Server / Oracle / sql.js
- 支持 MongoDB NoSQL 數據庫
- 可在 NodeJS / 瀏覽器 / Ionic / Cordova / React Native / Expo / Electron 平台上使用
- 支持 TypeScript 和 JavaScript
- 生成高性能、靈活、清晰和可維護的代碼
- 遵循所有可能的最佳實踐
- 命令行工具