Download Latest Version 3.21.2 source code.tar.gz (2.7 MB)
Email in envelope

Get an email when there's a new version of jOOQ

Home / version-3.21.0
Name Modified Size InfoDownloads / Week
Parent folder
3.21.0 source code.tar.gz 2026-03-23 2.7 MB
3.21.0 source code.zip 2026-03-23 5.5 MB
README.md 2026-03-23 4.3 kB
Totals: 3 Items   8.1 MB 0

Version 3.21.0 - March 24, 2026

New dialects:

jOOQ 3.20 ships with 2 new dialects:

  • Databricks in the jOOQ Enterprise Edition (no longer experimental)
  • Spanner in the jOOQ Enterprise Edition

Databricks offers a very promising SQL dialect with a lot of functionality, which we're going to cover in full with the next version jOOQ 3.21. An initial version of the dialect is shipped already in 3.20 as an experimental dialect. 3.20 will continue to receive bug fixes and Databricks improvements as we work with early adopting customers.

Spanner is Google SQL's second variant after BigQuery. The new Spanner dialect support has also greatly contributed to jOOQ's BigQuery dialect quality, as the dialects are very similar.

Dialect upgrades:

Cloud dialects were improved by adding support for a lot of new features that they're offering. Affected dialects include:

  • BigQuery
  • Databricks
  • Redshift
  • Snowflake

Redacted columns:

Redacted columns are a new code generation feature in jOOQ that allow for certain columns to be redacted when debug logging their contents in your log files:

This is a commercial only feature.

Meta dependencies:

The new org.jooq.Dependencies type that is available from Meta::dependencies allows for introspecting the transitive dependencies between views and their referenced tables. In the future, it will allow for navigating many more types of objects and their meta data dependencies, e.g. to help decide in what order objects need to be dropped, etc.

This is a commercial only feature.

Equi join diagnostic:

A new diagnostic checks if equi joins use all the known columns from the respective keys. This is very useful to check for correctness when manually joining on composite keys without using join paths or the ON KEY syntax:

Diagnostics are a commercial only feature.

Many UDT improvements:

UDTs are a powerful feature of ORDBMS, with increasing dialects supporting them. When using jOOQ's code generator, they become native to Java code as well, while jOOQ's runtime takes care of the complexities of binding them.

Among the many improvements to UDTs in this release are:

  • UDTs are now available from runtime Meta data
  • UDT path emulation where this isn't supported natively.
  • UDTs in MULTISET support
  • UDT path expressions can be parsed
  • UDTs are imported and exported to the InformationSchema XML format

All column embeddables:

Embeddables are a very useful feature in jOOQ that allow for attaching UDT like semantics to individual columns or column sets.

A new configuration allows for specifying a regular expression matching all columns for which an automatic embeddable should be generated, to greatly simplify the configuration of the embeddable feature:

Diagnostics are a commercial only feature.

Many DDL improvements:

This version adds a lot of additional DDL support including:

  • More IF EXISTS support
  • SET GENERATED and DROP GENERATED support for computed columns
  • SET IDENTITY and DROP IDENTITY support
  • MySQL CHANGE COLUMN syntax support
  • GENERATED ALWAYS AS IDENTITY (as opposed to GENERATED BY DEFAULT)
  • LOCAL TEMPORARY vs GLOBAL TEMPORARY support
  • COMMENT ON FUNCTION and COMMENT ON PROCEDURE support
  • CREATE FUNCTION with DEFAULT parameter support
  • ... and much more

Large upgrade counts:

JDBC 4.2 introduced a way for JDBC drivers to return large update counts, which jOOQ now reflects as well through methods like Query::executeLarge. At the same time, countLarge() and similar aggregate functions have been introduced to help count rows of tables with more than Integer.MAX_VALUE rows.

Source: README.md, updated 2026-03-23