awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Vincit avatar

Vincit/objection.js

0
View on GitHub↗
vincit.github.io/objection.js↗

Objection.js

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 database.

The toolset covers broad relational modeling capabilities, including the definition of associations between entities, atomic transaction management, and support for composite primary keys. It also provides utilities for document storage by persisting complex objects as JSON strings within relational columns and uses mixins to share reusable logic across different data models.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Object-Relational Mappers - Provides a comprehensive object-relational mapper that links database tables to JavaScript classes and rows to model instances.
  • Active-Record ORMs - Implements an ORM based on the Active Record pattern where models encapsulate data access logic.
  • Object-Relational Mapping - Maps programming language objects to database records and manages complex relationships between them.
  • Transaction Lifecycle Control - Runs groups of operations as an atomic unit that commits or rolls back based on the total outcome.
  • Object-to-Row Mapping - Links database table rows directly to object instances to provide an object-oriented data interface.
  • Model-Level Integrity Enforcement - Enforces data integrity using JSON schema definitions during instantiation and throws errors for invalid data.
  • Atomic Transactions - Provides mechanisms to execute multiple data manipulation operations as a single atomic unit to ensure consistency.
  • Database Query Builders - Provides a fluent interface for programmatic SQL construction to perform CRUD operations.
  • Eager Loading - Retrieves complex sets of related objects in a single operation to minimize database round-trips.
  • Database Record Querying - Implements mechanisms for retrieving data from tables using filters, sorting, and programmatic method chaining.
  • Database Transaction Management - Offers programmatic control of transaction boundaries and context-aware database operations to ensure consistency.
  • Schema Validators - Uses schema validators to verify that JSON documents adhere to predefined structures before saving to the database.
  • Node.js SQL ORMs - Provides a comprehensive object-relational mapper for Node.js that maps database tables to classes.
  • Object-Relational Mapping Associations - Provides mechanisms for managing relational associations and foreign key links between database entities.
  • Object-Relational Mapping Models - Provides structural definitions for mapping application data models to database table columns and types.
  • Query Builders - Wraps a low-level SQL query builder to translate programmatic method chains into executable database queries.
  • Relational Data Modeling - Provides techniques for organizing data into structured tables with defined associations for SQL storage.
  • Schema Validators - Enforces structural rules and data type constraints on database documents using JSON schema validation.
  • Node.js Database Integration - Provides a high-level programmatic interface for connecting Node.js applications to SQL database systems.
  • JSON Schema Validation - Enforces data integrity by validating model instances against structured JSON schema definitions before persistence.
  • Column Mappings - Implements configurations for mapping application class properties to database columns, including case conversion.
  • Raw SQL Execution - Supports direct execution of raw SQL queries with parameter binding for advanced database operations.
  • Row Mapping Logic - Converts SQL result set rows into rich model instances to enable custom logic on retrieved data.
  • Composite - Identifies unique rows using either a single column or multiple columns to support various schema designs.
  • Hybrid Relational-JSON Storage - Saves complex objects as JSON strings within traditional relational database columns and restores them to objects.
  • Nested Data Persistence - Provides capabilities for creating or updating complex, deeply nested object graphs in a single operation.
  • Relation Graph Upserting - Synchronizes related objects by inserting new records, updating existing ones, and deleting missing entries in one operation.
  • Eager Loading - Implements eager loading of related data graphs using joins or batch queries to eliminate N+1 query performance issues.
  • Relationship Management - Provides capabilities for creating, modifying, and filtering associations between data entities.
  • SQL Query Builders - Provides utilities for programmatically constructing structured SQL query operations.
  • Database Model Mixins - Uses mixins to inject shared methods and properties into database-mapped model class prototypes.
  • Model Extensions - Allows extending models with custom metadata and lifecycle behavior using reusable logic.
  • Case-Conversion Mappings - Automatically translates between database snake_case column names and application camelCase properties during data hydration.
  • Databases - Lightweight ORM based on Knex.
  • Object Relational Mappers - Lightweight ORM built on Knex.
  • Search and Databases - Provides a SQL-friendly ORM built on Knex.
7,343 stars·640 forks·JavaScript·MIT·44 views

Star history

Star history chart for vincit/objection.jsStar history chart for vincit/objection.js

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does vincit/objection.js do?

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.

What are the main features of vincit/objection.js?

The main features of vincit/objection.js are: Object-Relational Mappers, Active-Record ORMs, Object-Relational Mapping, Transaction Lifecycle Control, Object-to-Row Mapping, Model-Level Integrity Enforcement, Atomic Transactions, Database Query Builders.

Which projects share features with vincit/objection.js?

Projects with overlapping indexed features include: typeorm/typeorm — TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented… dotnetcore/freesql — FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for… dapperlib/dapper — Dapper is a lightweight object-relational mapper for .NET that functions as a high-performance data access library. It… seaql/sea-orm — Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly… coleifer/peewee — Peewee is a SQL object-relational mapper and query builder that provides an object-oriented interface for mapping… sqlalchemy/sqlalchemy — SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for…

Projects sharing features with Objection.js

These projects share indexed features with Objection.js. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • typeorm/typeormtypeorm avatar

    typeorm/typeorm

    36,540View on 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
    View on GitHub↗36,540
  • dotnetcore/freesqldotnetcore avatar

    dotnetcore/FreeSql

    4,388View on 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
    View on GitHub↗4,388
  • dapperlib/dapperDapperLib avatar

    DapperLib/Dapper

    18,331View on GitHub↗

    Dapper is a lightweight object-relational mapper for .NET that functions as a high-performance data access library. It operates by extending standard database connection interfaces, allowing developers to execute raw SQL queries while automating the mapping of database results to strongly-typed objects. The library distinguishes itself through its use of runtime code generation, which creates high-performance instructions to map database rows to object properties with minimal overhead. It provides flexible data retrieval options, supporting both memory-buffered loading for speed and row-by-ro

    C#ado-netdappersql
    View on GitHub↗18,331
  • seaql/sea-ormSeaQL avatar

    SeaQL/sea-orm

    9,410View on GitHub↗

    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

    Rustdatabasehacktoberfestloco
    View on GitHub↗9,410
Compare all 30 related projects→