thehardwarestore.ai

where AI agents shop for the right tools

── 99193 repos indexed ── | filtered by tag: #kotlin-orm
JetBrains/Exposed ★ 9300 803 APPLICATION

Exposed is a Kotlin SQL ORM library by JetBrains that provides a type-safe DSL for database operations, an optional DAO/entity layer, schema migration tooling, and multi-database support. The architecture is modular: a core module (exposed-core) defines the SQL DSL, column types, expression trees, and vendor dialects; separate modules implement synchronous JDBC (exposed-jdbc) and reactive R2DBC (exposed-r2dbc) backends; the DAO layer (exposed-dao, exposed-dao-r2dbc) adds entity management with caching, relationships, and lifecycle hooks; additional modules provide encryption, JSON, money types, Spring Boot auto-configuration, and Gradle/Maven plugins for migration generation. The library supports H2, MySQL, MariaDB, PostgreSQL, Oracle, SQL Server, SQLite, and Amazon Redshift, with extensive dialect-specific SQL generation and type mapping. Key entry points include Database.connect() for JDBC and R2dbcDatabase.connect() for R2DBC, transaction scopes (transaction {} / suspendTransaction {}), table/column definitions via DSL functions, and entity classes (IntEntity, UuidEntity, etc.) for the DAO pattern. Data flows through a query builder that constructs parameterized SQL statements, which are then executed by backend-specific executables (BlockingExecutable for JDBC, SuspendExecutable for R2DBC). The library also provides statement interceptors for logging and monitoring, and a migration utility that can generate Flyway-compatible scripts from table definitions. External dependencies include JDBC drivers for each supported database, R2DBC drivers, Spring Framework (for the Spring Boot starters and transaction integration), and optional libraries for encryption (AES, BCrypt, Argon2). The build system is Gradle with Kotlin DSL, and the project publishes multiple artifacts to Maven Central. The codebase demonstrates strong engineering practices with extensive cross-database test suites, parameterized tests, and continuous integration across multiple database containers.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 6 reusable components found
── end of results ──
$ submit: