exposed

Automate Kotlin/JVM Exposed database workflows with module selection and transaction handling.

Updated Apr 8, 2026
One-click install
npx skills add https://github.com/ClankerGuru/opsx --skill exposed-clankerguru
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: exposed
Source: https://github.com/ClankerGuru/opsx/tree/main/cli/src/main/resources/content/skills/exposed
Command: npx skills add https://github.com/ClankerGuru/opsx --skill exposed-clankerguru

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Kotlin/JVM developers using the JetBrains Exposed ORM often face fragmented module choices, boilerplate setup, and integration challenges. This skill consolidates Exposed usage into a guided approach covering module selection (exposed-core, exposed-jdbc, exposed-r2dbc, exposed-dao, exposed-java-time, exposed-json, and Spring Boot starters), Database.connect with HikariCP, transaction blocks including suspend newSuspendedTransaction, table and column definitions, DAO entities, and common querying/joins patterns for robust apps.

Core Features & Use Cases

  • Module selection and configuration across core Exposed modules
  • Database.connect with HikariCP and transactional boundaries
  • Table/Column definitions and DAO entity lifecycles
  • DSL CRUD, advanced querying, and join patterns
  • Spring Boot integration and testing considerations

Quick Start

Install the skill and integrate Kotlin Exposed into your project, then establish a Database.connect and start using transaction blocks.

Frequently Asked Questions about exposed

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

FAQPage Schema
How do I set up Kotlin Exposed with HikariCP and manage transactions?

To set up Kotlin Exposed with HikariCP, configure Database.connect with a HikariCP DataSource, then wrap database operations in transaction blocks. For coroutine integration, use newSuspendedTransaction to manage transactional boundaries within suspend functions.

What Exposed modules do I need for my Kotlin database project?

Exposed module selection depends on your use case: include exposed-core for basics, exposed-jdbc for blocking drivers, exposed-r2dbc for reactive access, exposed-dao for entity lifecycles, and exposed-java-time or exposed-json for specific data type support.

Can I use Kotlin Exposed with Spring Boot integration?

Yes, Kotlin Exposed works with Spring Boot integration using dedicated starters. This skill guides configuring Exposed alongside Spring Boot, handling transaction boundaries and testing considerations for robust application setup.

How do I define tables and DAO entities in Kotlin Exposed?

Define tables in Kotlin Exposed using IntIdTable or LongIdTable classes with column definitions, then map DAO entities by extending Entity classes. This skill covers table and column definitions alongside DAO entity lifecycle management for structured database access.

What is the difference between newSuspendedTransaction and transaction in Exposed?

The transaction function executes blocking database operations synchronously, while newSuspendedTransaction integrates with Kotlin coroutines to handle database operations in suspendable contexts, typically paired with exposed-r2dbc for reactive database workflows.

How do I perform CRUD operations and joins using Kotlin Exposed DSL?

Kotlin Exposed DSL CRUD operations use select, insert, update, and delete functions. Advanced querying and join patterns are constructed using innerJoin and leftJoin methods to combine multiple tables within a transaction block.