Exposed, an ORM framework for Kotlin
Exposed is a lightweight SQL library on top of a JDBC driver for the Kotlin programming language. It offers two approaches for database access: the Domain-Specific Language (DSL) API and the Data Access Object (DAO) API.
The Domain-Specific Language (DSL) API of Exposed provides a Kotlin-based abstraction for interacting with databases . It closely mirrors actual SQL statements, allowing you to work with familiar SQL concepts while benefiting from the type safety that Kotlin offers.
The Data Access Object (DAO) API of Exposed provides an object-oriented approach for interacting with a database, similar to traditional Object-Relational Mapping (ORM) frameworks like Hibernate. This API is less verbose and provides a more intuitive and Kotlin-centric way to interact with your database.
Exposed's flexibility allows you to choose the approach that best suits your project's needs, whether you prefer the direct control of SQL with the DSL API or the higher-level abstraction of the DAO API.
The official mascot of Exposed is the cuttlefish, which is well-known for its outstanding mimicry ability that enables it to blend seamlessly into any environment. Similar to its mascot, Exposed can be used to mimic a variety of database engines, which helps you to build applications without dependencies on any specific database engine and to switch between them with very little or no changes.
Supported databases
Exposed currently supports the following databases:
H2 (versions 2.x)
PostgreSQL (as well as PostgreSQL using the pgjdbc-ng JDBC driver)