kotlin-exposed-patterns

Architect Kotlin database access using Exposed ORM patterns.

Updated Apr 4, 2026
One-click install
npx skills add https://github.com/mitul-bhatia/Vibes --skill kotlin-exposed-patterns-mitul-bhatia
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kotlin-exposed-patterns
Source: https://github.com/mitul-bhatia/Vibes/tree/main/.github/skills/kotlin-exposed-patterns
Command: npx skills add https://github.com/mitul-bhatia/Vibes --skill kotlin-exposed-patterns-mitul-bhatia

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Exposed ORM patterns provide a structured approach to Kotlin database access, covering both DSL queries and DAO patterns, transaction management, and production-ready configuration.

Core Features & Use Cases

  • DSL queries for concise SQL-like expressions and DAO-based entity lifecycles.
  • Transaction management with coroutine-safe blocks and proper isolation considerations.
  • Production-ready setup including HikariCP pooling, Flyway migrations, and repository pattern integration.
  • Use Case: Build scalable data access layers for Kotlin apps using Exposed with clean separation of concerns.

Quick Start

Run a small Kotlin project using Exposed to connect to your database and execute a sample DSL query.

Frequently Asked Questions about kotlin-exposed-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage database transactions safely in Kotlin coroutines using Exposed?

To manage database transactions safely in Kotlin coroutines, Exposed provides the newSuspendedTransaction function. This ensures your DB access operations run within a coroutine-safe block without blocking threads.

What is the best way to structure a data access layer in Kotlin with Exposed ORM?

The best way to structure a data access layer with Exposed ORM is using a repository-based architecture. This separates DSL queries and DAO entity lifecycles from business logic, ensuring clean separation of concerns.

How do I configure HikariCP connection pooling and Flyway migrations for a Kotlin Exposed project?

Configuring HikariCP connection pooling and Flyway migrations requires setting up production-ready database parameters. Exposed uses HikariCP for pool management while Flyway handles schema migrations automatically.

Can I use Kotlin Exposed DSL queries alongside DAO patterns in the same project?

Yes, Kotlin Exposed supports using both DSL queries and DAO patterns in the same project. DSL provides concise SQL-like expressions while DAO manages entity lifecycles, allowing flexible database interactions.

Does Kotlin Exposed support JSON column types for database access?

Yes, Kotlin Exposed provides built-in JSON support for database access. This allows you to map and query JSON column types directly within your DSL queries and DAO entity definitions.