What problem does it solve? Setting up database access in Kotlin backend services requires coordinating an ORM, connection pooling, schema migrations, and transaction management, and mistakes in any layer cause connection leaks, unsafe coroutine usage, or untestable data code. ## Core Features & Use Cases - Exposed DSL and DAO Patterns: Write type-safe SQL queries with the DSL style or manage entity lifecycles with DAO entities, including joins, aggregations, subqueries, pagination, batch inserts, and upserts. - Production Database Setup: Configure HikariCP connection pooling, run versioned Flyway migrations at startup, and define tables with JSONB columns via kotlinx.serialization. - Repository Pattern and Testing: Wrap Exposed queries behind repository interfaces and test against an in-memory H2 database in PostgreSQL compatibility mode. - Use Case: When building a Ktor or Spring service backed by PostgreSQL, use these patterns to define tables, run migrations, and implement a coroutine-safe repository with paginated queries. ## Quick Start Ask the AI to set up an Exposed-based user repository with HikariCP pooling, Flyway migrations, and suspend transaction support for a Kotlin PostgreSQL service.