A jOOQ code generator that creates asynchronous, Vert.x-compatible DAOs and POJOs for reactive database operations.
vertx-jooq is a code generator that creates Vert.x-compatible Data Access Objects (DAOs) and Plain Old Java Objects (POJOs) from jOOQ configurations. It solves the problem of integrating jOOQ's type-safe SQL with Vert.x's asynchronous, reactive programming model by automatically generating classes that perform non-blocking database operations and handle JSON serialization seamlessly.
Java developers building reactive applications with Vert.x who want to use jOOQ for type-safe database access without blocking the event loop. It's particularly useful for teams adopting reactive architectures and needing asynchronous DAO patterns.
Developers choose vertx-jooq because it eliminates the boilerplate of manually writing asynchronous database layers, provides multiple reactive API choices (Futures, RxJava, Mutiny), and maintains full compatibility with jOOQ's powerful SQL capabilities while staying within Vert.x's ecosystem.
A jOOQ-CodeGenerator to create vertx-ified DAOs and POJOs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically generates Data Access Objects that perform all CRUD operations asynchronously using Vert.x Futures, RxJava, or Mutiny APIs, eliminating manual async wiring for reactive apps.
Offers modules for classic Vert.x Futures, RxJava2, RxJava3, and Mutiny, allowing developers to choose the reactive programming model that best fits their application stack.
Converts generated POJOs to and from Vert.x JsonObject out of the box, facilitating easy serialization for event bus communication in microservices.
Supports both traditional JDBC and reactive Vert.x SQL Client drivers, providing options based on performance and database compatibility needs.
Includes QueryExecutor for writing custom SQL with jOOQ's type safety while maintaining asynchronous execution, preserving jOOQ's powerful query capabilities.
Requires choosing from multiple API and driver combinations, and setup involves either programmatic configuration or Maven/Gradle plugins, which can be overwhelming for new users.
The generator omits unknown datatypes like java.sql.Timestamp, forcing developers to subclass AbstractVertxGenerator and implement custom methods, adding development overhead.
Starting from version 6.4.0, it requires Java 11, which may hinder adoption in projects stuck on Java 8, as explicitly noted in the FAQ.
Documentation is split across different modules for each API/driver combination, potentially making it harder to get cohesive guidance without digging into multiple sources.