ORM Frameworks
Cross-language ORM landscape as of July 2026: Prisma 7 (shipped Nov 2025) dropped its Rust query engine for a pure TypeScript/WASM runtime, claiming 3x faster queries and ~90% smaller bundles; Apache-2.0, Prisma Postgres priced $0 (100K ops)/$10/$49/$129 monthly tiers. Drizzle ORM (Apache-2.0) now pulls 9.4M weekly npm downloads versus TypeORM's 4.4M despite fewer GitHub stars (35K vs 36.5K); its types flow straight from the schema with zero codegen, and Drizzle Kit ships SQL-file migrations. TypeORM (MIT) is widely called maintenance-mode. SQLAlchemy 2.0.51 (June 2026, MIT) still leads Python. Hibernate ORM 7.4.5.Final (July 2026, LGPL 2.1) anchors Java/Jakarta EE, with 8.0 in development. GORM v1.31.2 (MIT) leads Go. EF Core 10.0.9 (MIT, .NET 10) and Rails Active Record 8.1.3 (MIT) round out the field; every one of these eight exposes a raw-SQL escape hatch and a first-party migration CLI. Current version/status: n/a — category page (individual ORM versions as of July 2026: Prisma 7.8.x, Drizzle latest npm, TypeORM 0.3.x maintenance-mode, SQLAlchemy 2.0.51, Hibernate ORM 7.4.5.Final, GORM v1.31.2, EF Core 10.0.9, Rails Active Record 8.1.3). License: Mixed (see individual tools) — MIT dominates (TypeORM, SQLAlchemy, GORM, EF Core, Rails/Active Record); Prisma and Drizzle are Apache-2.0; Hibernate ORM is LGPL 2.1. Pricing: Free/OSS for all eight libraries themselves; only Prism
Pick Drizzle if you're TypeScript-first and want SQL you can actually read in your own editor — schema-first types with zero codegen, and it already outpaces TypeORM in weekly npm downloads (9.4M vs 4.4M) for good reason. Don't reach for TypeORM on a new 2026 project — even its own community calls it maintenance-mode; use Drizzle or Prisma instead. Prisma's post-Rust rewrite is fast, but its query builder still buckles on gnarly multi-table joins where hand-written SQLAlchemy or raw Drizzle wins. Hibernate's decade-old, vendor-acknowledged weakness: N+1 queries the second you forget a fetch join. Known weakness: Every ORM in this set trades raw-SQL control for convenience somewhere — Hibernate's own docs warn about N+1 query blowups on lazy associations, and it's the sharpest version of a problem all eight share to some degree.