For an open source ORM for relational databases, the strongest matches are mikro-orm/mikro-orm (Mikro-ORM is a TypeScript ORM that supports multiple relational), seaql/sea-orm (Sea-ORM is an asynchronous SQL ORM library for Rust) and dotnetnext/sqlsugar (SqlSugar is a multi-database ORM for). typeorm/typeorm and vincit/objection.js round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Nous sélectionnons les dépôts GitHub open-source correspondant à « orm ». Les résultats sont classés par pertinence par rapport à votre recherche — utilisez les filtres ci-dessous pour affiner, ou utilisez l'IA.
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 com
Mikro-ORM is a TypeScript ORM that supports multiple relational databases and MongoDB, implements the data mapper pattern with a unit of work, and includes migration management and efficient loading strategies, making it a comprehensive fit for object-relational mapping needs.
Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly typed objects. It provides a relational database mapper for performing CRUD operations across MySQL, PostgreSQL, and SQLite, and includes a programmatic dynamic query builder for constructing complex SQL statements. The project distinguishes itself by providing a GraphQL schema generator that transforms database entities into typed schemas with built-in pagination and filters. It also features a dedicated database migration tool for defining and applying versioned schema chan
Sea-ORM is an asynchronous SQL ORM library for Rust that maps relational tables to strongly typed objects, supporting MySQL, PostgreSQL, and SQLite with a dynamic query builder and built-in migration tools, making it a comprehensive fit for your object-oriented database interaction needs.
SqlSugar is an object-relational mapping library for .NET that translates C# and VB objects into database queries and tables without requiring raw SQL. It is designed as a multi-database ORM supporting SQL Server, MySQL, PostgreSQL, Oracle, MongoDB, ClickHouse, and other databases through a unified API, and it is compatible with .NET AOT compilation for native ahead-of-time deployment. The library distinguishes itself through high-speed bulk data operations that can insert or update millions of records in seconds using batch processing instead of row-by-row handling. It also provides multi-te
SqlSugar is a multi-database ORM for .NET that maps objects to tables via a unified API, supporting query building, eager loading, and batch operations — directly matching the library for object-relational mapping the visitor wants.
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
TypeORM is a full-featured ORM for TypeScript/JavaScript that supports multiple databases, a fluent query builder, both data mapper and active record patterns, and comprehensive migration management—directly matching every aspect of your search.
Objection.js is an object-relational mapper for Node.js that maps SQL database tables to classes and rows to model instances. It functions as a high-level abstraction layer built on top of the Knex.js query builder to provide structured model definitions and relational data mapping. The project distinguishes itself through its ability to manage complex object graphs, allowing for the persistence and eager-loading of deeply nested related data in single operations. It incorporates a data integrity layer that uses JSON schema validation to verify model instances before they are persisted to the
Objection.js is an object-relational mapper for Node.js that maps SQL tables to model classes and supports eager loading, query building, and multiple databases via Knex, fitting your need for an ORM library, though it leaves migration management to external tooling rather than providing it built-in.
Sequelize is an object-relational mapping library that provides a unified interface for managing relational data through code. By implementing the Active Record pattern, it maps database tables to application objects, allowing developers to perform standard create, read, update, and delete operations using high-level method calls. The library abstracts complex database interactions by translating these calls into optimized, engine-specific SQL statements, ensuring consistent behavior across different database systems. The project distinguishes itself through a comprehensive suite of tools for
Sequelize is a mature Node.js ORM that implements the Active Record pattern across many SQL databases, offering a fluent query builder, built-in migration management, and eager/lazy loading—directly matching the visitor's requirements for an object-relational mapping library.
MagicalRecord is a data persistence library and wrapper for Core Data that implements the Active Record pattern. It maps database rows directly to object instances, allowing for the creation, update, and retrieval of records without writing manual query logic. The project functions as a mapping layer that synchronizes object properties with a managed object context. It utilizes generic-based type resolution and model-class querying to enable data fetching directly on model classes, which removes the need for a separate external manager and reduces repetitive fetch request boilerplate. The li
MagicalRecord is an Active Record wrapper for Core Data that maps objects to a persistent store, which fits the ORM category, but it is platform-specific to Apple ecosystems and works with Core Data’s underlying stores rather than general relational databases.
Peewee is a SQL object-relational mapper and query builder that provides an object-oriented interface for mapping application classes to relational database tables. It functions as a relational database toolkit for managing schemas, executing migrations, and handling complex table relationships. The project distinguishes itself by providing an asyncio database driver for non-blocking database operations, ensuring event loop responsiveness. It also supports semi-structured data storage, allowing the storage and querying of flexible JSON documents within traditional relational database systems.
Peewee is a mature Python ORM library that maps objects to relational database tables, supporting multiple databases, a fluent query builder, schema migrations, and efficient relation loading, making it a comprehensive fit for your needs.
This project is a type-safe database toolkit and object-relational mapper designed to enforce structural consistency between database schemas and application code. By leveraging compile-time validation, it ensures that SQL queries and data structures remain synchronized, preventing common errors before the application executes. It provides a comprehensive framework for relational data modeling, allowing developers to define table associations and map database results directly into strongly-typed language objects. The library distinguishes itself through its focus on compile-time safety and au
Diesel is a type-safe ORM and query builder for Rust that supports multiple databases, includes a fluent query builder, migration tooling, and compile-time checked eager loading, making it an excellent fit for object-relational mapping needs.
Bun is a type-safe object relational mapper for Go that prioritizes SQL-first query construction and result mapping. It functions as a programmable SQL query builder, a database connection manager, and a tool for mapping database tables to Go structs. The project distinguishes itself through a multi-dialect SQL support system, allowing a single codebase to interact with different database engines via a consistent interface. It includes a built-in database observability tool for query interception, distributed tracing, and logging, as well as a schema migration tool for versioning structural c
Bun is a type-safe Go ORM with multi-dialect SQL support, a query builder, migration tooling, and struct-to-table mapping—exactly what you need for object-relational mapping with strong database flexibility.
GORM is a developer-focused object-relational mapping library for Go that provides a comprehensive data persistence framework. It serves as a database access layer, allowing developers to map application structures to database tables and perform CRUD operations using a fluent, type-safe query builder instead of writing raw SQL. The library distinguishes itself through its association-aware persistence, which automatically tracks and synchronizes complex entity relationships during database operations. It utilizes a driver-agnostic interface to maintain consistent behavior across various stora
GORM is a full-featured Go ORM that maps structs to database tables, offering a fluent query builder, migration management, eager/lazy loading, and driver-agnostic database support — exactly the comprehensive object-relational mapping library the visitor is looking for.
Sequel is a relational database toolkit for Ruby that provides object-relational mapping, a fluent SQL query builder, and schema migration capabilities. It maps database tables to Ruby classes with support for associations, validations, lifecycle hooks, and eager loading, offering a comprehensive ORM layer for building data-centric applications. Sequel distinguishes itself through a plugin-based extension architecture that allows composable customization of models, databases, and datasets without relying on deep inheritance hierarchies. It includes a thread-safe connection pool with support f
Sequel is a Ruby ORM that maps database tables to classes with a fluent query builder, schema migrations, associations, and eager loading — exactly the object‑relational mapping toolkit this search asks for, and it covers the requested features through its plugin‑based architecture.
SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for interacting with relational databases. It serves as a foundational layer for database connectivity, offering both a high-level object-oriented interface for data persistence and a programmatic SQL expression language for constructing complex, dialect-agnostic queries. The project distinguishes itself through its sophisticated unit of work persistence, which coordinates atomic transactions and tracks object state changes to minimize redundant database operations. It provides a
SQLAlchemy is a mature Python ORM that maps objects to database tables with a flexible query builder, multiple database support, and both active record and data mapper patterns, fully matching the search for an object-relational mapping library.
xorm is a relational mapper and object-relational mapping tool for Go. It translates Go structures into SQL queries and maps database rows back into native objects, providing a multi-dialect database driver that supports MySQL, PostgreSQL, SQLite, Oracle, SQL Server, and TiDB. The project features a read-write splitting manager that routes modification requests to a primary database and read requests to replicas. It includes a database schema synchronizer to automatically align table structures and indexes with application data models, as well as a fluent SQL query builder for constructing co
xorm is a comprehensive Go ORM that maps structs to database tables, supports multiple databases (MySQL, PostgreSQL, SQLite, Oracle, SQL Server, TiDB), includes a fluent query builder, and offers schema synchronization for migrations, covering the essential features sought in an ORM library.
Drift is a type-safe SQL persistence library and relational mapper that provides a structured way to map database tables to classes and execute SQL queries with build-time validation. It functions as a type-safe query builder and a wrapper for SQLite and PostgreSQL, eliminating manual result set parsing by binding query outputs to native objects. The project distinguishes itself through a build-time code generation system that produces type-safe APIs and validates raw SQL statements against database versions before execution. It features reactive query streaming, which transforms SQL queries
Drift is a type-safe SQL persistence library and relational mapper for Dart/Flutter that maps database tables to classes, provides a fluent query builder, supports SQLite and PostgreSQL, and includes build-time code generation for schema management, making it a comprehensive ORM solution for this search.
Hibernate ORM is a Java object-relational mapper and a full implementation of the Jakarta Persistence API. It serves as a SQL database abstraction layer that translates Java object models into relational database schemas to manage data persistence and lifecycles. The framework distinguishes itself with a multi-tenant data isolation framework for separating customer data within a single database instance. It also features a database schema generator that automatically produces and updates relational structures based on entity mappings. The system covers broad capability areas including transa
Hibernate ORM is a mature, full-featured Java object-relational mapper that supports multiple databases, a fluent Criteria query builder, eager/lazy loading, schema generation, and is squarely the kind of ORM library this search is after, even if its primary pattern is data mapper rather than active record.
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
Entity Framework Core is a comprehensive object-relational mapper with provider-based architecture supporting multiple databases, a fluent LINQ query interface, migration management, and eager/lazy loading — exactly the kind of ORM library this search targets.
Prisma is a database toolkit that provides a unified access layer for interacting with relational and document databases. It centers on a declarative schema modeling approach, where developers define their data structures in a human-readable language. This schema serves as the single source of truth, from which the toolkit automatically generates type-safe database clients that provide compile-time validation and editor autocomplete for all data operations. The project distinguishes itself through a high-performance, Rust-based query engine that handles query planning and connection pooling o
Prisma is an open-source ORM toolkit that maps your schema to type-safe database clients with multiple database support, a fluent query API, built-in migrations, and both eager and lazy loading—exactly the object-relational mapping library you're after.
Ebean is a Java object-relational mapping framework designed to simplify database persistence through automated query generation, schema migration, and transaction management. It uses metadata-driven mapping and bytecode enhancement to bridge the gap between application objects and relational database tables, providing a persistent layer that handles complex data interactions while maintaining consistency across unit-of-work boundaries. The framework distinguishes itself through its focus on developer productivity and performance optimization. It provides type-safe query builders that generat
Ebean is a fully-featured open-source ORM library for Java and Kotlin that maps objects to database tables, supports multiple databases (Postgres, MySQL, SQLite, etc.), a fluent query builder, migration management, eager/lazy loading, and both active record and data mapper patterns, squarely matching the visitor's request.
Ent is a statically typed entity framework for Go that models database structures as a graph of nodes and edges. It functions as a code generation engine that transforms schema definitions into type-safe database clients, query builders, and migration scripts. By representing data as interconnected entities, the framework enables intuitive traversal of complex relationships and ensures that database interactions remain consistent with the application model at compile time. The framework distinguishes itself through its graph-based approach to data modeling and its reliance on compile-time cod
ent is a code-generation-driven entity framework for Go that maps typed objects to database tables with a fluent query builder and migration support, aligning with your ORM-library search, though it uses a graph model instead of active record or data mapper patterns.
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
Doctrine ORM is a mature PHP object-relational mapper that uses the data mapper pattern with a unit of work, a dedicated query language, and support for lazy/eager loading, squarely fitting the need for mapping objects to database tables in an object-oriented way.
jOOQ is a type-safe SQL query builder for Java that generates code from live database schemas, enabling compile-time validation of SQL syntax and data types. Its core identity is built around a fluent DSL that mirrors SQL structure, a code generator that maps tables, views, and routines to Java objects, and a multi-dialect engine that translates the same DSL into vendor-specific SQL for over 30 databases. The project also includes a SQL parser and transformer for refactoring or dialect conversion, reactive stream integration for non-blocking query execution, and a JDBC proxy diagnostics tool f
jOOQ generates Java objects from database schemas and provides a fluent, type-safe SQL builder, making it a legitimate ORM library for mapping tables to objects, though it lacks built-in migration management and full active-record or data-mapper patterns.
SQLModel is a type-safe object-relational mapping library for Python that integrates database schema definitions with data validation logic. By combining these two roles into a single class, it allows developers to manage relational data structures and enforce data integrity for web APIs simultaneously. The framework is built to support asynchronous database operations, enabling high-performance applications to execute queries and transactions without blocking the main execution thread. The library distinguishes itself by leveraging Python type hints to provide IDE autocompletion and compile-
SQLModel is a type-safe ORM for Python that maps objects to database tables using SQLAlchemy, supporting multiple databases, a query builder, eager/lazy loading, and a data-mapper pattern—a solid fit for object–relational mapping, though it lacks built-in migrations and active record support.
Pony is a Python object-relational mapper that maps classes to relational database tables using an object-oriented interface. It serves as a relational database toolkit providing the means to manage database transactions, identity mapping, and the lazy loading of related records. The project is distinguished by a SQL query translator that converts Python generator expressions into optimized SQL queries by analyzing the abstract syntax tree. It also includes a visual database schema designer for creating entity-relationship diagrams to automatically generate and synchronize relational database
Pony ORM is a Python object-relational mapper that supports multiple databases (MySQL, PostgreSQL, SQLite, Oracle, CockroachDB) and provides a query builder with lazy loading, though it may lack built-in migration management compared to more feature-complete ORMs.
This project is a header-only C++ library that provides an object-relational mapping layer for SQLite databases. It enables developers to map native class structures directly to database tables, facilitating type-safe data persistence and retrieval without the need for raw query strings. The library distinguishes itself through the use of template-based metaprogramming, which allows for compile-time schema mapping and query construction. By utilizing a fluent interface, it translates method calls into optimized database statements, while its support for prepared statement caching minimizes pa
This C++ header-only library provides an ORM layer specifically for SQLite, mapping objects to database tables with CRUD operations—exactly the object-oriented persistence you want, though limited to one database backend rather than supporting multiple databases.
| Dépôt | Stars | Langage | Licence | Dernier push |
|---|---|---|---|---|
| mikro-orm/mikro-orm | 9.1K | TypeScript | MIT | |
| seaql/sea-orm | 9.4K | Rust | apache-2.0 | |
| dotnetnext/sqlsugar | 5.8K | C# | MIT | |
| typeorm/typeorm | 36.5K | TypeScript | MIT | |
| vincit/objection.js | 7.3K | JavaScript | MIT | |
| sequelize/sequelize | 30.3K | TypeScript | MIT | |
| magicalpanda/magicalrecord | 10.7K | Objective-C | NOASSERTION | |
| coleifer/peewee | 12K | Python | MIT | |
| diesel-rs/diesel | 14K | Rust | apache-2.0 | |
| uptrace/bun | 4.9K | Go | BSD-2-Clause |