jOOQ

What jOOQ is
jOOQ generates Java code from database metadata and provides a fluent API for writing type-safe SQL queries. Its SQL DSL embeds SQL in Java, where compiler and generics checks cover column types, row-value expressions, and SQL syntax. Generated classes can help identify schema changes at compile time, while Active Records support create, read, update, and delete operations, optimistic locking, foreign-key navigation, and POJO mapping. The code generator can produce callable methods for database routines, and stored functions can be used in type-safe SQL statements. jOOQ can translate SQL expressions for a target database; available dialects and versions depend on the edition. The Open Source Edition lists ClickHouse, Derby, DuckDB, Firebird, H2, HSQLDB, MariaDB, MySQL, PostgreSQL, SQLite, Trino, and YugabyteDB. Runtime schema and table overrides, row-level security, and SPI hooks for query behavior are also supported. The self-hosted tool supports Java, Kotlin, and Scala and includes a CLI. The free Open Source Edition is available alongside commercial editions from €99/yr; commercial licenses are per developer workstation, while build, test, and production server licenses are included.
Who it suits
jOOQ suits Java developers who want generated database classes and SQL queries checked through Java's type system. Its editions address open-source database users as well as teams needing commercial database support or premium support.
What it does well
- Free Open Source Edition supports listed databases.
- Generated code can expose schema changes at compile time.
- Supports Java, Kotlin, and Scala.
- Commercial licenses include build, test, and production servers.
- No license server or call-home requirement.
What to know first
- Commercial licenses are required per developer workstation.
- Supported dialects and versions vary by edition.
- Commercial prices exclude VAT.
Limits
The free Open Source Edition is limited to the listed open-source databases and their latest versions. Commercial editions require a per-developer-workstation license, priced at €99, €399, or €799 per year excluding VAT, depending on edition.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Open Source Edition | Unlimited use · Latest versions of listed open source databases · Apache Software License 2.0 | Free |
| Professional Edition | 399 € excl. VAT per floating developer workstation and year, including ongoing maintenance and support · Supports listed commercial databases including Oracle and SQL Server | €399 a year |
| Enterprise Edition | 799 € excl. VAT per floating developer workstation and year, including ongoing maintenance and support · Broad enterprise database support · Premium support | €799 a year |
| Express Edition | 99 € excl. VAT per floating developer workstation and year, including ongoing maintenance and support · Supports listed databases including Oracle Express Edition, SQL Server Express Edition, and Microsoft Access | €99 a year |
As jooq.org lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Visit the jOOQ website
- Choose the Open Source, Express, Professional, or Enterprise Edition
- Install or run the self-hosted tooling
- Generate Java classes from your database metadata
- Use the fluent SQL DSL in Java, Kotlin, or Scala
- Run the command-line interface when preferred
Verdict
jOOQ combines schema-based code generation with a Java SQL DSL and supports multiple database editions. The free edition covers its listed open-source databases; commercial licenses start at €99/yr, excluding VAT.
Questions
Is jOOQ free?
Yes. The Open Source Edition costs 0.00 USD and allows unlimited use under the Apache Software License 2.0. Commercial editions start at €99 per year, excluding VAT, and a 30-day trial is listed.
Which languages does jOOQ support?
It supports Java, Kotlin, and Scala.
Which databases are in the Open Source Edition?
The listed databases are ClickHouse, Derby, DuckDB, Firebird, H2, HSQLDB, MariaDB, MySQL, PostgreSQL, SQLite, Trino, and YugabyteDB.
How are commercial licenses assigned?
A commercial license is required for each developer workstation using jOOQ code. Build, test, and production server licenses are included.
Does jOOQ require a license server?
Its licensing FAQ says jOOQ does not require a license server and does not call home.
What support is included?
Free community support is available through GitHub, Stack Overflow, user groups, and Reddit. Paying customers also receive email support.
Facts from jOOQ's own pages
- Code generation
- The code generator creates Java classes from database metadata so Java code can be checked against schema changes at compile time. · jooq.org, 8 Oct 2026
- CRUD and records
- Generated Active Records support create, read, update, delete, optimistic locking, foreign key navigation, and POJO mapping. · jooq.org, 8 Oct 2026
- Database support
- The Open Source Edition lists ClickHouse, Derby, DuckDB, Firebird, H2, HSQLDB, MariaDB, MySQL, PostgreSQL, SQLite, Trino, and YugabyteDB. · jooq.org, 8 Oct 2026
- Founded
- 2013 · jooq.org, 28 Sept 2026
- Headquarters
- St. Gallen, Switzerland · jooq.org, 28 Sept 2026
- Integrations
- The licensing page lists dependencies or integrations including Spring, Hibernate, Liquibase, R2DBC, and Reactive Streams. · jooq.org, 8 Oct 2026
- Licensing and limits
- Commercial licenses are required per developer workstation using jOOQ code, while build, test, and production server licenses are included. · jooq.org, 8 Oct 2026
- Multi-tenancy
- jOOQ supports runtime database schema and table overrides and row-level security. · jooq.org, 8 Oct 2026
- Purpose
- jOOQ generates Java code from a database and lets developers build type safe SQL queries through a fluent API. · jooq.org, 8 Oct 2026
- Query lifecycle
- Its SPI allows custom behavior for logging, transaction management, event triggers, and SQL transformation. · jooq.org, 8 Oct 2026
- Security and privacy
- The licensing FAQ states jOOQ does not require a license server and does not call home. · jooq.org, 8 Oct 2026
- SQL dialects
- jOOQ can transform SQL expressions into equivalents supported by a target database, and its edition determines the supported dialects and versions. · jooq.org, 8 Oct 2026
- SQL DSL
- jOOQ embeds SQL as an internal domain specific language in Java and uses Java's compiler and generics for column type, row value expression, and SQL syntax checks. · jooq.org, 8 Oct 2026
- Stored procedures
- The code generator can generate callable methods for routines, and stored functions can be embedded in SQL statements in a type safe manner. · jooq.org, 8 Oct 2026
- Support
- Free community support is offered through GitHub, Stack Overflow, user groups, and Reddit; paying customers also get included email support. · jooq.org, 8 Oct 2026
- Who it is for
- The maker describes jOOQ editions for open source database users, power users needing advanced features and versioned support, smaller companies needing basic commercial database support, and large companies seeking premium support. · jooq.org, 8 Oct 2026
Where jOOQ stands on Freedom251
- Code Generators#20 of 33