mikro-orm/mikro-orm ↗
Created Jan 9, 2021 · View the mikro-orm/mikro-orm repository page
TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, MS SQL Server, PostgreSQL and SQLite/libSQL databases.
Want this for your repo?
Render a free sample of any GitHub repo in seconds.
Contributors
70
Lines of Code
11,335
From
Mar 15, 2018
To
Jan 8, 2021
About mikro-orm/mikro-orm
MikroORM is a TypeScript ORM for Node.js built on proven architectural patterns: Data Mapper, Unit of Work, and Identity Map. It provides a clean abstraction layer over multiple databases including MongoDB, MySQL, MariaDB, PostgreSQL, SQLite, libSQL, MSSQL, and Oracle, drawing inspiration from established ORMs like Doctrine and Hibernate.
The framework emphasizes automatic change tracking through its Unit of Work pattern, where entities are modified in memory and all changes are coordinated in a single database transaction when you call flush(). It supports flexible entity definition through decorators, EntitySchema, or the modern defineEntity API, along with comprehensive features like QueryBuilder, relationship loading strategies, schema generation, migrations, and lifecycle hooks.
MikroORM caters to Node.js developers building web applications and serves multiple frameworks with example integrations for Express, NestJS, Koa, GraphQL, and Next.js. The project includes extensive documentation, CLI tooling, entity generation from existing schemas, and support for advanced features like embeddables, custom types, composite keys, and request-scoped identity maps for web contexts.