Overview
Exposed is JetBrains' Kotlin SQL framework, providing a type-safe SQL DSL and lightweight DAO API with separate JDBC and R2DBC transport modules.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Express SQL-like queries through a type-safe Kotlin DSL
Tables, columns, expressions, joins, inserts, selects, and updates are represented through Kotlin APIs while retaining SQL-like structure.
Compose JDBC/R2DBC transport with optional DAO and migration modules
Core database access can be extended with DAO, schema migration, JSON/date-time support, Spring integration, and other modules.
For Kotlin applications that want SQL visibility plus static typing
It suits teams that prefer more SQL control than heavyweight ORM abstractions while still benefiting from Kotlin DSLs and types.
Sources: [2]
Check DAO/R2DBC compatibility and module-specific JDK requirements
DAO only works with the JDBC module, while R2DBC and several Spring-related modules require newer JDK versions than the basic modules.
Official sources
- [1]JetBrains/Exposed repository(2026-09-21)
- [2]Exposed README(2026-09-21)
- [3]Exposed documentation(2026-09-21)
- [4]Exposed 1.0 migration guide(2026-09-21)
- [5]Exposed Apache-2.0 license(2026-09-21)
Supplemental curator note
Exposed is not only an ORM abstraction: it offers a SQL-oriented type-safe DSL alongside a DAO API. R2DBC is supported in the 1.0 line, but the DAO API is JDBC-only and does not work with R2DBC. Module-specific JDK requirements should also be checked.
Try it in 3 steps
- 1
Get the source
git clone --depth 1 https://github.com/JetBrains/Exposed.git - 2
Enter the repository
cd Exposed - 3
Check the official steps
Continue with the commands in the README Installation, Quick Start, or Getting Started section.
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
Growth
Growth trends · Last 30 days
9,289 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 29
- Open PRs
- 42
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- kotlin
- sql
- dao
- orm
- Stars
- 9,289
- Forks
- 799
- Watchers
- 134
- Open issues
- 125
- Contributors
- 239
- Primary language
- Kotlin
- License
- Apache-2.0
- Repository last updated
- Sep 21, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Hibernate ORM6,469 Stars
2 shared tag(s) · 2 shared category(s)
A Java ORM that maps objects to relational tables and relationships and provides Jakarta Persistence/JPA, HQL, transactions, dirty checking, and persistence infrastructure.
Java - Prisma ORM47,646 Stars
1 shared tag(s) · 2 shared category(s)
A Node.js/TypeScript ORM whose current main branch is the Prisma 8 release candidate, rebuilt in TypeScript around an extension SPI, composable contracts, and AI-agent skills.
TypeScript - drawDB39,616 Stars
1 shared tag(s) · 2 shared category(s)
A browser-based database schema and ER diagram editor that can import/export SQL, generate migrations, and work without an account, with an optional sharing server.
JavaScript - Drizzle ORM35,840 Stars
1 shared tag(s) · 2 shared category(s)
A lightweight TypeScript ORM with SQL-like typed queries for PostgreSQL, MySQL, and SQLite, including serverless and edge database drivers.
TypeScript - DuckDB41,595 Stars
1 shared tag(s) · 1 shared category(s)
An in-process analytical SQL database that runs without a separate server and can query CSV, Parquet, DataFrames, and local analytical data directly.
C++
Report incorrect information
Tell us if any listing information is incorrect or outdated.