exposed

Define Jetbrains Exposed ORM schemas, queries, transactions, and Spring Boot integration.

1|Updated Mar 16, 2026
One-click install
npx skills add https://github.com/iceflower/opencode-agents-and-skills --skill exposed
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: exposed
Source: https://github.com/iceflower/opencode-agents-and-skills/tree/main/skills/exposed
Command: npx skills add https://github.com/iceflower/opencode-agents-and-skills --skill exposed

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides comprehensive guidance on using Jetbrains Exposed ORM, enabling developers to efficiently define database schemas, write queries, manage transactions, and integrate with Spring Boot, while avoiding common pitfalls.

Core Features & Use Cases

  • Schema Definition: Learn best practices for defining tables and entities using both DSL and DAO approaches.
  • Querying: Master DSL query patterns for CRUD operations, joins, and batch operations.
  • Transaction Management: Understand how to manage transactions effectively, including read-only and nested transactions.
  • Spring Boot Integration: Configure and utilize Exposed within a Spring Boot application.
  • Schema Migration: Guidance on using external tools like Flyway for production schema management.

Quick Start

Use the exposed skill to define a new table named 'products' with columns 'id', 'name', and 'price'.

Frequently Asked Questions about exposed

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

FAQPage Schema
How do I define database tables in Kotlin using Jetbrains Exposed?

To define database tables in Kotlin using Jetbrains Exposed, follow best practices for schema definition by utilizing either the DSL approach for type-safe SQL representations or the DAO approach for object-relational mapping.

What is the difference between DSL and DAO in Exposed ORM?

In the Exposed ORM, DSL provides a type-safe SQL API for direct query writing, while DAO offers an object-relational mapping layer. Choosing between them depends on whether you prefer explicit SQL control or entity-based data access.

How do I integrate Jetbrains Exposed with Spring Boot for database management?

To integrate Jetbrains Exposed with Spring Boot, apply specific configuration rules to set up database connections and manage transactions within the Spring framework, ensuring efficient and reliable database interaction in your Kotlin application.

How to manage transactions effectively with Jetbrains Exposed?

Manage transactions effectively with Jetbrains Exposed by applying rules for handling read-only and nested transactions, ensuring atomic database operations and preventing common transaction anti-patterns in your Kotlin code.

What is the best way to handle schema migrations with Exposed ORM?

The best way to handle schema migrations with Exposed ORM is to use external tools like Flyway for production schema management, avoiding common anti-patterns and ensuring reliable database schema versioning in Kotlin applications.

What are common anti-patterns to avoid when writing Exposed ORM queries?

Common anti-patterns to avoid when writing Exposed ORM queries include inefficient CRUD operations and poorly structured joins. Apply established query patterns to ensure optimal database interaction in your Kotlin applications.