vincit/objection.js

An SQL-friendly ORM for Node.js

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 43 minutes ago
Added to GitGenius on September 9th, 2026
Created on April 14th, 2015
Open Issues & Pull Requests: 135 (+0)
GitHub issues: Enabled
Number of forks: 638
Total Stargazers: 7,341 (+0)
Total Subscribers: 75 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 18.4 hours
Mean response time: 36.5 days
90th percentile: 189.0 days
Tracked items: 29

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 17
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 614 days
Stale 30+ days: 17
Stale 90+ days: 14

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (4)
  • enhancement (2)
  • discussion (1)
  • needs more info (1)
  • typings (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Objection.js is a relational query builder for Node.js that prioritizes SQL expressiveness while providing convenient abstractions for common operations.

The tool solves the problem of bridging the gap between traditional ORMs and raw SQL by treating queries as first-class objects rather than wrapping database concepts in object-oriented abstractions. Built on the knex query builder, it lets developers write SQL-like queries programmatically while retaining access to the full power of the underlying database engine. It supports eager loading of relationships, graph inserts and upserts for complex object hierarchies, transactions, and optional JSON schema validation. The approach avoids the complexity of heavyweight ORMs by not attempting to hide SQL or automatically generate schemas from models.

Objection.js suits developers who are comfortable with SQL and want to leverage database-specific features without fighting an abstraction layer. It works well for projects using SQLite3, Postgres, or MySQL where the schema is managed separately through migrations. Choose this tool if you value explicit control over queries and want to avoid the conceptual overhead of fully object-oriented ORMs. The README explicitly contrasts itself with traditional ORMs like Hibernate, positioning itself as a lighter alternative that keeps SQL central rather than attempting to replace it with a custom query language.

The project maintains thorough test coverage across its supported databases. Development activity shows consistent engagement with the codebase and attention to the tool's core functionality. Official TypeScript support is provided through type definitions, indicating commitment to modern JavaScript ecosystem practices.