Skip to main content
Example of MikroORM in action

基于数据映射器、工作单元、以及标识映射模式的 Node.js 的 TypeScript ORM。

[object Object]

隐式事务

MikroORM 允许自动处理 事务。当你调用 em.flush() 时,所有 计算的更改 都包装在数据库事务中。

[object Object]

DRY 实体

使用 源代码分析,因此你在定义实体时不必重复自己。只需定义正确的 TypeScript 类型,你就可以开始了!

[object Object]

支持 SQL 和 NoSQL

支持 MongoDBMySQL、MariaDB、PostgreSQL、MS SQL Server 和 SQLite(包括 libSQL) 数据库,现在可以通过自定义驱动程序支持更多数据库。

[object Object]

与数据库同步

使用 SchemaGenerator 快速从实体定义中生成原型模式,使用 Migrator 从实体定义中生成迁移差异,或者使用 EntityGenerator 自检数据库以从数据库模式中获取实体定义。

[object Object]

种子

使用 种子 和种子工厂,我们可以生成任意大小/形状的虚假数据并轻松为数据库播种。

[object Object]

自动批处理

得益于 UnitOfWork,它触发的所有查询都会自动批处理。插入、更新、删除 - 一切由你决定!

[object Object]

事件

强大的 事件系统 不仅允许挂钩实体生命周期。想要改变 UnitOfWork 的工作方式?尝试 onFlush 事件!

[object Object]

查询构建器

包括具有自动连接支持的元数据感知 QueryBuilder。需要更多灵活性?我们为你提供保障!

[object Object]

过滤器

全局定义和控制你的常用 过滤器。想要仅显示与给定租户相关的结果?或者也许你想自动隐藏所有软删除的实体?