On this page
Overview
Komapper is an ORM for server-side Kotlin. It generates metamodels with KSP at compile time and provides immutable, composable query DSLs for both JDBC and R2DBC, with Spring Boot integration available.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Generate metamodels at compile time with KSP
Entity definitions are processed through Kotlin Symbol Processing so SQL queries can be built against generated, typed metamodels.
Sources: [1]
Use the same query model with both JDBC and R2DBC
Komapper supports blocking JDBC and reactive R2DBC while keeping immutable, composable queries and transaction APIs across both connectivity styles.
Sources: [1]
Best fit
Fits Kotlin backends that want SQL control with ORM type safety
It supports databases including PostgreSQL, MySQL, MariaDB, Oracle, SQL Server, and H2 while preserving a SQL-oriented DSL and optional Spring Boot integration.
Sources: [1]
Before adoption
Version 7.0.0 requires migration from the 6.x line
The v7.0.0 release explicitly contains breaking changes and directs 6.x users to the 7.x Migration Guide before upgrading.
Sources: [2]
Official sources
- [1]Komapper README(2026-10-06)
- [2]Komapper v7.0.0 release(2026-10-06)
Supplemental curator note
It fits Kotlin backends that want one ORM model across blocking JDBC and reactive R2DBC. Version 7.0.0 has breaking changes from 6.x and requires JVM 17 or newer.
Try it in 3 steps
- 1
Get the source
git clone --depth 1 https://github.com/komapper/komapper.git - 2
Enter the repository
cd komapper - 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
344 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 17
- Open PRs
- 7
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- kotlin
- sql
- ksp
- orm
- server-side
- jdbc
- r2dbc
- Stars
- 344
- Forks
- 20
- Watchers
- 7
- Open issues
- 7
- Contributors
- 15
- Owner type
- Organization
- Primary language
- Kotlin
- License
- Apache-2.0
- Repository last updated
- Oct 5, 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
- Liquibase5,621 Stars
2 shared tag(s) · 2 shared category(s)
Version database schema changes as changelogs, then validate and apply them in a controlled order
Java - Tabularis5,115 Stars
2 shared tag(s) · 2 shared category(s)
combine SQL editing, notebooks, database plugins, and MCP in one desktop workspace
TypeScript - mysql22,274 Stars
2 shared tag(s) · 2 shared category(s)
connect Ruby to MySQL or MariaDB and handle SQL queries, prepared statements, and streaming results
Ruby - DuckDB41,928 Stars
2 shared tag(s) · 1 shared category(s)
Run analytical SQL directly over CSV, Parquet, and DataFrames inside the application process without a database server
C++ - Kotlin JDSL825 Stars
5 shared tag(s) · 2 shared category(s) · Same language
build JPA queries from ordinary Kotlin classes without generated metamodels
Kotlin - Spring Data JPA3,287 Stars
5 shared tag(s) · 2 shared category(s)
derive JPA CRUD, finder, pagination, and auditing behavior from repository interfaces
Java
Report incorrect information
Tell us if any listing information is incorrect or outdated.