Related Projects
There are many other tools out there, here is a list of popular alternatives.
Note: This research was done with the help of AI, please send a PR if you would like to add or change something.
SQL ORMs and Code Generators
Section titled “SQL ORMs and Code Generators”Languages: Go, TypeScript, Python
Website: sqlc.dev
GitHub: sqlc-dev/sqlc
Star
Parses SQL using a full SQL parser and generates type-safe code. Primarily focused on Go.
Differences: Uses SQL parsing instead of runtime introspection. Stronger Go ecosystem support.
PgTyped
Section titled “PgTyped”Language: TypeScript
Website: pgtyped.dev
GitHub: adelsz/pgtyped
Star
Generates TypeScript types from PostgreSQL queries using query parsing and database introspection.
Differences: PostgreSQL-only. Generates types rather than wrapper classes.
SQLDelight
Section titled “SQLDelight”Languages: Kotlin, Swift, C++
Website: cashapp.github.io/sqldelight
GitHub: cashapp/sqldelight
Star
Generates type-safe Kotlin code from SQL queries. Supports multiple platforms including Android, iOS, and JVM.
Differences: Kotlin-focused with multi-platform support. Uses SQL parsing.
Kysely
Section titled “Kysely”Language: TypeScript
Website: kysely.dev
GitHub: kysely-org/kysely
Star
Type-safe SQL query builder with a fluent API. Queries are built at runtime.
Differences: Query builder API vs. raw SQL. Runtime query construction.
Dapper
Section titled “Dapper”Language: C# (.NET)
Website: github.com/DapperLib/Dapper
GitHub: DapperLib/Dapper
Star
Micro-ORM for .NET that extends IDbConnection with methods for mapping SQL query results to objects.
Differences: Runtime mapping with extension methods. No code generation.
Prisma
Section titled “Prisma”Languages: TypeScript, JavaScript
Website: prisma.io
GitHub: prisma/prisma
Star
ORM with schema language, migrations, and query client.
Differences: Uses schema definitions and query API rather than raw SQL.
Drizzle ORM
Section titled “Drizzle ORM”Language: TypeScript
Website: orm.drizzle.team
GitHub: drizzle-team/drizzle-orm
Star
TypeScript ORM with SQL-like query API and TypeScript schema definitions.
Differences: Schema-first approach with runtime query building.
SQLAlchemy
Section titled “SQLAlchemy”Language: Python
Website: sqlalchemy.org
GitHub: sqlalchemy/sqlalchemy
Star
Python SQL toolkit and ORM with both SQL expression language and high-level ORM API.
Differences: Dual-layer architecture with both SQL and ORM APIs. Runtime query building.
Exposed
Section titled “Exposed”Language: Kotlin
Website: github.com/JetBrains/Exposed
GitHub: JetBrains/Exposed
Star
Kotlin SQL framework with both type-safe DSL and lightweight ORM capabilities.
Differences: Kotlin DSL for queries. Runtime query building.
Language: Java
Website: jooq.org
GitHub: jOOQ/jOOQ
Star
Generates Java code from database schema and provides a fluent DSL for type-safe queries.
Differences: Schema-first code generation with runtime query builder.
MyBatis
Section titled “MyBatis”Language: Java
Website: mybatis.org
GitHub: mybatis/mybatis-3
Star
Persistence framework that maps SQL to Java objects using XML or annotations.
Differences: XML-based configuration with runtime mapping.
Hibernate
Section titled “Hibernate”Language: Java
Website: hibernate.org
GitHub: hibernate/hibernate-orm
Star
Mature Java ORM implementing JPA specification with extensive features and ecosystem.
Differences: Full-featured ORM with entity management, caching, and lazy loading.
JPA (Java Persistence API)
Section titled “JPA (Java Persistence API)”Language: Java
Website: jakarta.ee/specifications/persistence
Java standard specification for object-relational mapping. Implemented by Hibernate, EclipseLink, and others.
Differences: Standard API specification. Implementations provide full ORM features.