For a database layer for Kotlin, the strongest matches are kotlin-orm/ktorm (Ktorm is a lightweight Kotlin ORM that provides a), jetbrains/exposed (Exposed is a Kotlin-native SQL framework that delivers a) and jooq/jooq (jOOQ is a type-safe SQL query builder for the). prismagraphql/prisma and seaql/sea-orm round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
These open-source libraries provide type-safe database connectivity and persistence layers for Kotlin and JVM applications.
Ktorm is a lightweight object-relational mapping framework for Kotlin that provides a type-safe SQL domain-specific language and functional sequence APIs for database interaction. It enables developers to define database schemas and map relational tables to interface-based objects, ensuring that data persistence and retrieval are handled through strongly-typed expressions. The framework distinguishes itself by utilizing a functional, collection-style approach to query construction, allowing developers to chain operations like filtering, sorting, and aggregation using idiomatic language patter
Ktorm is a lightweight Kotlin ORM that provides a type-safe SQL DSL and functional query APIs for the JVM, squarely fitting the request for a database access library, though it may not include a built-in migration tool or explicit coroutine support.
Kotlin SQL Framework
Exposed is a Kotlin-native SQL framework that delivers a type-safe DSL, coroutine support, built-in migrations, multi-database connectivity, and a lightweight ORM-like DAO layer, fitting every core requirement for a JVM database access library.
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 is a type-safe SQL query builder for the JVM with code generation and multi-database support, so it directly provides the type-safe DSL and reactive capabilities you need — though it lacks a built-in migration tool and is Java-centric rather than Kotlin-first.
Prisma is a type-safe database object-relational mapper that uses a declarative schema to map data models to relational and document databases. It provides a unified toolkit for data access, combining a database driver with tools for schema management and record manipulation. The project features a multi-database driver that standardizes interactions across PostgreSQL, MySQL, and MongoDB. It includes a system for tracking and applying structural schema migrations across different environments and a graphical user interface for browsing and editing database records. The system ensures data in
Prisma is a type-safe ORM with multi-database support and migrations, but it is built for the TypeScript/JavaScript ecosystem rather than providing an idiomatic Kotlin/JVM database access layer with coroutine support.
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 a feature-rich async ORM for Rust with migrations and multi-database support, but it does not target Kotlin on the JVM as required.
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 a type-safe database ORM and query builder, but it is built for TypeScript/Node.js and not for Kotlin or the JVM, so it does not match the visitor's requirement for a Kotlin/JVM database access library.