# jooq

jOOQ is a Java library and DSL for constructing type-safe SQL queries, including database code generation and query execution.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Resisting the Urge to Document Everything Everywhere

DevFeed: [Resisting the Urge to Document Everything Everywhere](<https://devfeed.tech/articles/resisting-the-urge-to-document-everything-everywhere-28958.md>)

Original publisher: [Read original article](<https://blog.jooq.org/resisting-the-urge-to-document-everything-everywhere/>)

Author: lukaseder

Published: 2025-02-28T10:39:07Z

Content type: opinion

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [jooq](<https://devfeed.tech/topics/jooq.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [generics](<https://devfeed.tech/topics/generics.md>)

Tags: [caveat](<https://devfeed.tech/tags/caveat.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [generics](<https://devfeed.tech/tags/generics.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-development](<https://devfeed.tech/tags/jooq-development.md>), [quirk](<https://devfeed.tech/tags/quirk.md>), [sql](<https://devfeed.tech/tags/sql.md>), [stack-overflow](<https://devfeed.tech/tags/stack-overflow.md>), [xyproblem](<https://devfeed.tech/tags/xyproblem.md>)

### AI overview

The article argues that product teams should resist documenting every workaround alongside the feature that exposed a user's problem. Using jOOQ as an example, it explains that unrelated features can be difficult to discover even when one helps address a quirk or limitation in another.

### Source excerpt

Every product manager knows this situation: This is such a common pattern, and while it's perfectly understandable for such a user to request this, it is so terribly wrong to give in to this user's request. Why is it wrong? The features are unrelated Most of the time, the two features X1 and X2 are ... Continue reading Resisting the Urge to Document Everything Everywhere ->

## jOOQ 3.19's new Explicit and Implicit to-many path joins

DevFeed: [jOOQ 3.19's new Explicit and Implicit to-many path joins](<https://devfeed.tech/articles/jooq-3-19-s-new-explicit-and-implicit-to-many-path-joins-28952.md>)

Original publisher: [Read original article](<https://blog.jooq.org/jooq-3-19s-new-explicit-and-implicit-to-many-path-joins/>)

Author: lukaseder

Published: 2023-12-28T14:35:14Z

Content type: release

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [jooq](<https://devfeed.tech/topics/jooq.md>), [jpa](<https://devfeed.tech/topics/jpa.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [correlated-subqueries](<https://devfeed.tech/tags/correlated-subqueries.md>), [explicit-path-joins](<https://devfeed.tech/tags/explicit-path-joins.md>), [implicit-join](<https://devfeed.tech/tags/implicit-join.md>), [implicit-join-path-correlation](<https://devfeed.tech/tags/implicit-join-path-correlation.md>), [implicit-joins](<https://devfeed.tech/tags/implicit-joins.md>), [java](<https://devfeed.tech/tags/java.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-3-19](<https://devfeed.tech/tags/jooq-3-19.md>), [jooq-development](<https://devfeed.tech/tags/jooq-development.md>), [path-joins](<https://devfeed.tech/tags/path-joins.md>), [sql](<https://devfeed.tech/tags/sql.md>), [to-many-path-joins](<https://devfeed.tech/tags/to-many-path-joins.md>)

### AI overview

This article describes jOOQ 3.19's support for explicit path joins and new to-many path joins. It explains how path-based joins can simplify SQL queries, derive join predicates from foreign-key metadata, and allow per-query control over join types.

### Source excerpt

jOOQ 3.19 finally delivers on a set of features that will greatly simplify your queries further, after jOOQ 3.11 introduced implicit to-one joins: What are these features? Many ORMs (e.g. JPA, Doctrine, jOOQ 3.11 and others) support "path joins" (they may have different names for this concept). A path join is a join derived from ... Continue reading jOOQ 3.19's new Explicit and Implicit to-many path joins ->

## The Many Different Ways to Fetch Data in jOOQ

DevFeed: [The Many Different Ways to Fetch Data in jOOQ](<https://devfeed.tech/articles/the-many-different-ways-to-fetch-data-in-jooq-28962.md>)

Original publisher: [Read original article](<https://blog.jooq.org/the-many-different-ways-to-fetch-data-in-jooq/>)

Author: lukaseder

Published: 2022-05-19T07:29:09Z

Content type: tutorial

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [jooq](<https://devfeed.tech/topics/jooq.md>), [Java](<https://devfeed.tech/topics/java.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [collections](<https://devfeed.tech/tags/collections.md>), [collector](<https://devfeed.tech/tags/collector.md>), [convenience](<https://devfeed.tech/tags/convenience.md>), [fetching](<https://devfeed.tech/tags/fetching.md>), [java](<https://devfeed.tech/tags/java.md>), [jdbc](<https://devfeed.tech/tags/jdbc.md>), [joo-f6a0c60d3d07](<https://devfeed.tech/tags/joo-f6a0c60d3d07.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-in-use](<https://devfeed.tech/tags/jooq-in-use.md>), [optional](<https://devfeed.tech/tags/optional.md>), [r2dbc](<https://devfeed.tech/tags/r2dbc.md>), [reactive-streams](<https://devfeed.tech/tags/reactive-streams.md>), [sql](<https://devfeed.tech/tags/sql.md>), [stream-api](<https://devfeed.tech/tags/stream-api.md>), [streams](<https://devfeed.tech/tags/streams.md>)

### AI overview

This tutorial explains several ways to fetch data with jOOQ, including eager result-set fetching, external and internal iteration, single-record retrieval, optional results, and resource-managed fetching for large data sets.

### Source excerpt

The jOOQ API is all about convenience, and as such, an important operation (the most important one?) like fetch() must come with convenience, too. The default way to fetch data is this: It fetches the entire result set into memory and closes the underlying JDBC resources eagerly. But what other options do we have? Iterable ... Continue reading The Many Different Ways to Fetch Data in jOOQ ->