You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Starting from this version on, vertx-jooq both includes the JDBC
and the async variant (formerly known as vertx-jooq-async). This
avoids duplicate code and thus provides better stability.
Say good bye callback-API: everybody who has written code that is more complex than a simple HelloWorld application
hates callback-APIs. That is why I decided to let the classic-module now return Vertx Futures instead of accepting a Handler to deal with the result.
vertx-jooq-future becomes vertx-jooq-completablefuture: that was more or less a consequence of the decision to let the
classic API return Futures now.
Consistent naming: I decided to prefix any DAO-method that is based on a SELECT with find, followed by One if
it returns one value, or Many if it is capable to return many values, followed by a condition to define how the value is
obtained, eg byId. If you are upgrading from a previous version, you will have to run some search and replace sessions in your favorite IDE.
DAOs are no longer capable of executing arbitrary SQL. There were two main drivers for this decision: 1. joining the JDBC
and the async API did not allow it. 2. DAOs are bound to a POJO and should only operate on the POJO's type. With the option to execute any
SQL one could easily join on POJOs of other types and thus break boundaries. You can still execute type-safe SQL asynchronously
using one of the QueryExecutors though.
Never again call blocking DAO-methods by accident: in previous vertx-jooq versions every VertxDAO extended from jOOQ's DAOImpl class.
This made it easy to just wrap the blocking variant of a CRUD-operation in a Vertx.executeBlocking block to get the async variant
of it. The downside however was that the blocking CRUD-operations were still visible in the DAO-API and it was up to the user
to call the correct (async) method. The blocking variants have been removed from the API - all calls are now asynchronous.
All insert (except insertReturningPrimary), update and delete-methods now contain information about the number of affected rows.
The result is a cleaner, thinner API.