3.17.0 Release with Computed Columns, Audit Columns, Pattern Matching, Reactive Transactions and Kotlin Coroutine Support

This release contiues the work from previous releases around more sophisticated SQL transformation capabilities, including: Client side computed columns for both read and write operationsAudit columnsPattern matching SQL transformationsMore implicit JOIN capabilities Client side computed columns A ground breaking new core feature available in all commercial distributions isthe new client side computed columns feature, building … Continue reading 3.17.0 Release with Computed Columns, Audit Columns, Pattern Matching, Reactive Transactions and Kotlin Coroutine Support

Detect Accidental Blocking Calls when Using R2DBC

A while ago, jOOQ has added the org.jetbrains:annotations dependency to the jOOQ API, in order to annotate return types with nullability information. For example, the entire DSL is non-nullable: public interface SelectWhereStep<R extends Record> extends SelectConnectByStep<R> { @NotNull @CheckReturnValue @Support SelectConditionStep<R> where(Condition condition); // ... } It makes sense to give this guarantee especially to … Continue reading Detect Accidental Blocking Calls when Using R2DBC

Reactive SQL with jOOQ 3.15 and R2DBC

One of the biggest new features of the recently released jOOQ 3.15 is its new support for reactive querying via R2DBC. This has been a highly popular feature request, and we finally delivered on it. You can continue using jOOQ the way you were used to, providing you with type safe, embedded SQL in Java, … Continue reading Reactive SQL with jOOQ 3.15 and R2DBC

Reactive Database Access – Part 3 – Using jOOQ with Scala, Futures and Actors

Notice that the examples in this article may be outdated, as Typesafe's Activator works differently now. The blog post will not be maintained to provide up-to-date Activator examples. We're very happy to continue our a guest post series on the jOOQ blog by Manuel Bernhardt. In this blog series, Manuel will explain the motivation behind … Continue reading Reactive Database Access – Part 3 – Using jOOQ with Scala, Futures and Actors

Reactive Database Access – Part 2 – Actors

Notice that the examples in this article may be outdated, as Typesafe's Activator works differently now. The blog post will not be maintained to provide up-to-date Activator examples. We're very happy to continue our a guest post series on the jOOQ blog by Manuel Bernhardt. In this blog series, Manuel will explain the motivation behind … Continue reading Reactive Database Access – Part 2 – Actors

Reactive Database Access – Part 1 – Why “Async”

Notice that the examples in this article may be outdated, as Typesafe's Activator works differently now. The blog post will not be maintained to provide up-to-date Activator examples. We're very happy to announce a guest post series on the jOOQ blog by Manuel Bernhardt. In this blog series, Manuel will explain the motivation behind so-called … Continue reading Reactive Database Access – Part 1 – Why “Async”

Asynchronous SQL Execution with jOOQ and Java 8’s CompletableFuture

Reactive programming is the new buzzword, which essentially just means asynchronous programming or messaging. Fact is that functional syntax greatly helps with structuring asynchronous execution chains, and today, we'll see how we can do this in Java 8 using jOOQ and the new CompletableFuture API. In fact, things are quite simple: // Initiate an asynchronous … Continue reading Asynchronous SQL Execution with jOOQ and Java 8’s CompletableFuture

What if Developing a Simple Data Management Application Just Took 1-2 Days?

What if developing an application just took 1-2 days? What if I can create it myself with only 10 clicks? What if I don't need you developers anymore? Said every manager since the beginning of history. This is what all managers dream of. Click click click, next next next, and you're done! Easy, right? Time-to-market: … Continue reading What if Developing a Simple Data Management Application Just Took 1-2 Days?