Skip to content
Exposed docs1.11

Bluetape4k Exposed Manual

Latest stable Based on Exposed release 1.11.0

bluetape4k-exposed adds repository patterns, transaction boundaries, caching, database-specific extensions, and application integrations to JetBrains Exposed. This manual starts with decisions rather than a feature catalog: choose JDBC or R2DBC, decide when caching is justified, and place database adapters and Spring Boot or Ktor integrations on the correct data-access path.

Exposed repository overview

  • Repository foundations: Core, DAO, and repository conventions turn Exposed tables and entities into reusable Kotlin data-access components.
  • JDBC and R2DBC: Choose JDBC for blocking transactions or R2DBC for coroutine-first non-blocking access, with separate ownership and cancellation contracts.
  • Transactions and batch work: The transaction boundary guide and batch utilities cover composition, batching, and failure behavior.
  • Caching: The cache selection guide connects shared cache contracts to Caffeine, Lettuce, and Redisson for JDBC and R2DBC repositories.
  • Database and data-format extensions: The database adapter matrix and serialization/encryption guide cover vendor-specific SQL, JSON, measured values, and encrypted columns.
  • Application integration: Spring Boot and Ktor modules own configuration, lifecycle, and framework-specific transaction wiring.

Consumers select the central io.github.bluetape4k:bluetape4k-dependencies:<version> BOM version, not the repository release documented here. The technical baseline for this manual is bluetape4k-exposed 1.11.0, limited to the 40 Gradle projects present in that stable release.

  • Use Getting started for the central BOM and JDBC/R2DBC selection rules.
  • Read the Repository map to see how the stable modules fit together.
  • Follow the Learning path for a goal-oriented sequence of examples and workshops.
  • Open the module catalog when you need coordinates and release-backed source locations.

This repository owns the application data path. For object history, change comparison, or JaVers commit metadata, move to bluetape4k-javers instead of overloading persistence repositories. JaVers complements Exposed repositories and caches; it does not replace them.