kotlin-exposed-patterns

Automate JetBrains Exposed ORM adoption with DSL, DAO, and transaction patterns.

2|Updated Mar 20, 2026
One-click install
npx skills add https://github.com/multiplex-ai/muggle-ai-teams --skill kotlin-exposed-patterns-multiplex-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kotlin-exposed-patterns
Source: https://github.com/multiplex-ai/muggle-ai-teams/tree/main/skills/kotlin-exposed-patterns
Command: npx skills add https://github.com/multiplex-ai/muggle-ai-teams --skill kotlin-exposed-patterns-multiplex-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

JetBrains Exposed ORM patterns provide a structured, production-ready approach to database access in Kotlin, reducing boilerplate and ensuring consistent data access strategies across DSL queries, DAO, transactions, and migrations.

Core Features & Use Cases

  • DSL Queries: write expressive SQL-like queries with the Exposed DSL.
  • DAO Pattern & Entities: manage entity lifecycles with Exposed DAO.
  • Transactions & Concurrency: safe coroutine-supported transactions.
  • Connection Pooling & Migrations: integrate HikariCP and Flyway for reliable startup and migrations.
  • Repository Style Access: decouple business logic from data access for testability and flexibility.
  • Use Case: build a robust data layer for a Kotlin backend with scalable data access patterns.

Quick Start

Integrate Exposed in your Kotlin project and begin using the DSL, DAO, and repository patterns described above.

Frequently Asked Questions about kotlin-exposed-patterns

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

FAQPage Schema
How do I structure Kotlin Exposed ORM patterns for a production backend?

Structure Kotlin Exposed ORM patterns by adopting repository-based data access, DAO entity management, and coroutine-safe transactional boundaries to decouple business logic and ensure scalable data access.

What is the best way to manage transactions and concurrency with Kotlin Exposed?

Manage transactions and concurrency with Kotlin Exposed by implementing coroutine-safe transactional boundaries, ensuring reliable concurrent data access without blocking operations across production-grade applications.

How do I set up connection pooling and database migrations with Kotlin Exposed?

Set up connection pooling and database migrations with Kotlin Exposed by integrating HikariCP for reliable connection management and Flyway for executing versioned database migrations at startup.

When should I use the DAO pattern versus DSL queries in Kotlin Exposed?

Use the DAO pattern in Kotlin Exposed to manage entity lifecycles and state, while utilizing DSL queries for expressive, SQL-like data retrieval operations that do not require persistent entity tracking.

Does Kotlin Exposed work with coroutine-supported transactions?

Yes, Kotlin Exposed works with coroutine-supported transactions by establishing safe transactional boundaries, allowing non-blocking database operations within asynchronous Kotlin backend environments.

Why use a repository pattern for data access in Kotlin Exposed?

Use a repository pattern for data access in Kotlin Exposed to decouple business logic from underlying database operations, significantly improving the testability and flexibility of your data layer.