awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
mikro-orm avatar

mikro-orm/mikro-orm

0
View on GitHub↗
9,085 星标·644 分支·TypeScript·MIT·13 次浏览mikro-orm.io↗

Mikro Orm

Mikro-ORM is a TypeScript-based object-relational mapping system that provides a unified persistence layer for Node.js applications. It translates TypeScript entities into relational or document-based database schemas, supporting a variety of engines including PostgreSQL, MySQL, MariaDB, MS SQL Server, SQLite, and MongoDB.

The project implements the data mapper pattern to decouple in-memory domain models from the database persistence layer. It utilizes a unit of work pattern to track entity changes in memory and commit them in a single coordinated database transaction.

The library covers comprehensive data storage and synchronization capabilities, including type-safe query building, versioned schema migrations, and request-scoped state management. It provides advanced data modeling for entity inheritance and polymorphic relations, along with tools for query performance monitoring, result caching, and global data filtering.

Command-line utilities are included for managing database migrations, seeding data, and exporting entity definitions from existing schemas.

Features

  • Object-Relational Mappers - Implements a full-featured object-relational mapper that decouples domain models from the persistence layer.
  • Data Mappers - Implements the data mapper pattern to decouple in-memory domain models from the database persistence layer.
  • Database Mapping - Provides a unified mapping layer compatible with both relational and document-based database engines.
  • Relational Persistence Layers - Provides a relational persistence layer that manages data storage using schemas and object-relational mapping.
  • Database Adapters - Implements a standardized adapter layer to decouple application logic from multiple supported database engines.
  • Atomic Transactions - Groups multiple data operations into a single atomic unit to ensure database consistency.
  • Entity CRUD Management - Provides fundamental CRUD capabilities for inserting, updating, deleting, and retrieving entities.
  • Identity Maps - Maintains an identity map to ensure each database record is represented by a single unique object instance.
  • Fluent Query Builders - Ships a fluent, method-chaining interface for constructing type-safe database queries.
  • State Change Tracking - Monitors modifications to in-memory objects to ensure accurate persistence during database synchronization.
  • Persistence Layers - Provides a unified persistence interface supporting multiple database engines including PostgreSQL, MySQL, and MongoDB.
  • Schema Definitions - Provides a declarative system for defining data object structures using schemas and decorators.
  • Type-Safe Query Builders - Offers a type-safe query builder with compile-time validation, relational population, and sorting.
  • TypeScript Database Modeling - Allows defining complex data structures and relationships using TypeScript classes to mirror relational or document databases.
  • Metadata Mapping - Uses decorators and schema definitions to declaratively map class properties to database columns.
  • Unit of Work Patterns - Implements a unit of work pattern to track entity changes in memory and commit them in one coordinated transaction.
  • Request-Scoped State - Ties database state management to the lifecycle of a single execution request to prevent user data leakage.
  • Identity Maps - Isolates identity maps to individual web requests to ensure data consistency and prevent leakage.
  • Data Loading Optimizations - Offers loading strategies and partial field fetching to reduce memory usage and improve response times.
  • Database Schema Migrations - Automates the application of versioned updates to keep database schemas in sync with application code.
  • Database Migration Management - Ships a comprehensive system for tracking and applying schema changes using versioned migration files.
  • Database Migration Tools - Provides utilities for generating and executing versioned schema changes to keep the database in sync.
  • Database Schema Constraints - Enforces data integrity across different engines through defined check constraints, unique keys, and foreign keys.
  • Database Schema Managers - Provides declarative tools for defining and managing database structures based on entity models.
  • Global Data Filters - Provides a mechanism to restrict returned entities using global or relation-specific filters for multi-tenancy and soft-delete logic.
  • Optimistic Locking - Prevents concurrent update conflicts by checking a version column before committing changes.
  • Polymorphic Data Modeling - Supports advanced data modeling including entity inheritance and polymorphic relations.
  • Schema Migrations - Implements a system for automating database structure evolution via versioned migrations.
  • Database ORMs - ORM based on Data Mapper and Unit of Work patterns.
  • Database Tools - Object-relational mapper with unit of work support.
  • 数据库 - TypeScript ORM with data mapper and identity map.
  • Object Relational Mappers - TypeScript ORM based on Data Mapper patterns.
  • Search and Databases - Implements Data Mapper and Unit of Work patterns.

Star 历史

mikro-orm/mikro-orm 的 Star 历史图表mikro-orm/mikro-orm 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

mikro-orm/mikro-orm 是做什么的?

Mikro-ORM is a TypeScript-based object-relational mapping system that provides a unified persistence layer for Node.js applications. It translates TypeScript entities into relational or document-based database schemas, supporting a variety of engines including PostgreSQL, MySQL, MariaDB, MS SQL Server, SQLite, and MongoDB.

mikro-orm/mikro-orm 的主要功能有哪些?

mikro-orm/mikro-orm 的主要功能包括:Object-Relational Mappers, Data Mappers, Database Mapping, Relational Persistence Layers, Database Adapters, Atomic Transactions, Entity CRUD Management, Identity Maps。

mikro-orm/mikro-orm 有哪些开源替代品?

mikro-orm/mikro-orm 的开源替代品包括: doctrine/orm — Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It… dotnet/efcore — Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using… dotnetcore/freesql — FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for… typeorm/typeorm — TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented… drizzle-team/drizzle-orm — Drizzle ORM is a TypeScript-native database toolkit providing type-safe SQL query building, schema management, and… knex/knex — Knex is a multi-dialect database client that provides a programmatic SQL query builder, a connection pool manager, and…

Mikro Orm 的开源替代方案

相似的开源项目,按与 Mikro Orm 的功能重合度排序。
  • doctrine/ormdoctrine 的头像

    doctrine/orm

    10,172在 GitHub 上查看↗

    Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It uses the data mapper and identity map patterns to decouple the in-memory object model from the database schema, allowing developers to manage data persistence without writing manual SQL. The project features a dedicated object-oriented query language and programmatic builder for retrieving data based on entities rather than tables. It implements a unit-of-work system to track object changes during a request and synchronize them via atomic transactions. The capability surface inc

    PHPhacktoberfest
    在 GitHub 上查看↗10,172
  • dotnet/efcoredotnet 的头像

    dotnet/efcore

    14,587在 GitHub 上查看↗

    Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using strongly-typed code. It serves as a comprehensive data access framework, providing a unified interface for mapping application objects to relational and non-relational database schemas while managing the lifecycle of data operations through a central context. The project distinguishes itself through a provider-based architecture that decouples core data access logic from specific database engines, allowing for consistent interaction across diverse storage systems. It features a

    C#aspnet-productc-sharpdatabase
    在 GitHub 上查看↗14,587
  • dotnetcore/freesqldotnetcore 的头像

    dotnetcore/FreeSql

    4,388在 GitHub 上查看↗

    FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for multiple relational database providers. It functions as a fluent SQL query builder and database schema synchronizer, allowing developers to align database table and index structures with entity class definitions. The framework is specifically optimized for .NET Native AOT to ensure reduced memory footprints and faster startup times. It includes a database traffic manager to distribute load through read-write splitting, dynamic table sharding, and tenant-based data isolation. Bro

    C#accessclickhousecodefirst
    在 GitHub 上查看↗4,388
  • typeorm/typeormtypeorm 的头像

    typeorm/typeorm

    36,540在 GitHub 上查看↗

    TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented application code and relational database tables. It provides a comprehensive data persistence layer that allows developers to define database entities using class decorators or configuration objects, enabling seamless interaction with data through object-oriented patterns. The project distinguishes itself through a flexible architecture that supports both the data mapper and repository patterns, alongside a fluent query builder that translates high-level method calls into platform

    TypeScriptactive-recordcockroachdbdata-mapper
    在 GitHub 上查看↗36,540
查看 Mikro Orm 的所有 30 个替代方案→