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.

Core capabilities
Section titled “Core capabilities”- 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.
Version baseline
Section titled “Version baseline”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.
- Release tag:
1.11.0 - Release commit:
0b494a5fd1e083006046764757342b68a397e4c5 - Primary paths: JDBC, R2DBC, cache, database adapters, and application integrations
Where to start
Section titled “Where to start”- 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.
Responsibility boundary
Section titled “Responsibility boundary”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.