{"adoption": {"forks": 1217, "observed_at": "2026-08-28T04:09:48.503876+00:00", "stars": 6777}, "canonical_url": "https://ross.abutalabs.com/products/jooq", "card": {"archived": false, "artifact_type": "library", "description": "jOOQ is the best way to write SQL in Java", "domain": ["databases", "backend", "developer-tools", "web-development"], "enriched": true, "function": ["orm", "database", "database-driver", "parser"], "health_score": 100, "homepage": "https://www.jooq.org", "language": "Java", "license": "NOASSERTION", "license_family": "other", "maturity": "stable", "member_repos": ["jOOQ/jOOQ"], "name": "jOOQ/jOOQ", "platform": ["jvm"], "pushed_at": "2026-08-26T16:23:53+00:00", "repo": "jOOQ/jOOQ", "stars": 6777, "tags": ["sql-builder", "type-safe-sql", "code-generation", "jdbc", "dsl", "sql-dialect-abstraction", "active-records", "reactive", "r2dbc", "multi-tenancy"], "topics": ["jooq", "java", "sql", "jpa", "sql-builder", "sql-query", "sql-query-builder", "sql-query-formatter", "sql-formatter", "database", "code-generator", "jdbc", "jdbc-utilities", "orm", "hibernate", "mysql", "sqlserver", "db2", "postgresql", "oracle"], "urls": [], "use_cases": ["write type-safe SQL queries in Java", "generate Java classes from database schema", "replace JDBC boilerplate for database access", "translate SQL between different database dialects", "build dynamic SQL queries with a fluent API", "map query results to POJOs and DAOs", "migrate from Hibernate/JPA to a SQL-centric approach"], "what_it_is": "jOOQ is a Java library that models SQL as a type-safe internal DSL, with a source code generator that reverse-engineers your database schema into Java classes. It provides fluent query building, dialect abstraction across 30+ RDBMS, DAOs, active records, SQL parsing/translation, and reactive support via R2DBC.", "when_to_avoid": ["you want a pure object-relational mapping with entity persistence and change tracking", "your project is not on the JVM", "you need a fully free license for commercial databases like Oracle or SQL Server (commercial editions required)", "you prefer schema-less or NoSQL data access"], "when_to_choose": ["you want SQL-first development where the database schema drives your Java code", "you need compile-time safety for SQL queries against your schema", "you must support multiple SQL dialects from one codebase", "you find ORMs like Hibernate too opaque and want explicit SQL control"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jooq", "repo": "jOOQ/jOOQ", "role": "main", "score": 94}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.503876+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:42:23.383846+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "718fb32f7ae1afd9afdbdd20f80419e8c874d78508661546ed63e402ef0a733b", "fetched_at": "2026-08-28T04:09:48.503876+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jOOQ/jOOQ"}, {"content_hash": "37c73d0fdcc47fe911d7caed0e71e3105634e87e098a09536acd43d1db724ecc", "fetched_at": "2026-08-29T08:38:36.142666+00:00", "kind": "homepage", "missing": false, "url": "https://www.jooq.org"}, {"content_hash": "c8a69632a31cb88271f4a3a2d38f04dcc1133de57df0f402a654357a0383e0a9", "fetched_at": "2026-08-29T08:38:36.149363+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases"}, {"content_hash": "18a3aeb3d9671680c1b3d9d01ac148e1fcd2d4e8508b4037ea9ac93f718f304f", "fetched_at": "2026-08-29T08:38:36.151635+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases/jooq-as-a-sql-builder-with-code-generation"}, {"content_hash": "1996d9dee5cc3cf5c06a721bff8cb22a30165d33a778416e7dd1eb7bf5badb13", "fetched_at": "2026-08-29T08:38:36.161789+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/tutorials/jooq-in-7-steps"}, {"content_hash": "33fe07910619465dd4da1f01727774ab74e7e1697a1a76ad37c3c77933bbc417", "fetched_at": "2026-08-29T08:38:36.146353+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/download"}, {"content_hash": "cf2c6c7eca235a7605849195d6efc86b4ff3eb5a731c2ea28ff6d951e79279fb", "fetched_at": "2026-08-29T08:38:36.155554+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/sql-execution/execute-listeners"}, {"content_hash": "9adf56c5cf47ef2ded25176b454e2018f7b492b101caf63e7e9bddfb738030ca", "fetched_at": "2026-08-29T08:38:36.153629+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/code-generation"}, {"content_hash": "e6d7a5e3833db6acc27a65fc7ab09998978fb126f9c78ccd98655afbf382ce8e", "fetched_at": "2026-08-29T08:38:36.157417+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/javadoc/latest/org/jooq/ExecuteListener.html"}, {"content_hash": "d237f8493427820e7ef81a5c93a8dca46858a3e521895fd419aef22a7354a2be", "fetched_at": "2026-08-29T08:38:36.160049+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/faq"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.503876+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:42:23.383846+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "718fb32f7ae1afd9afdbdd20f80419e8c874d78508661546ed63e402ef0a733b", "fetched_at": "2026-08-28T04:09:48.503876+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jOOQ/jOOQ"}, {"content_hash": "37c73d0fdcc47fe911d7caed0e71e3105634e87e098a09536acd43d1db724ecc", "fetched_at": "2026-08-29T08:38:36.142666+00:00", "kind": "homepage", "missing": false, "url": "https://www.jooq.org"}, {"content_hash": "c8a69632a31cb88271f4a3a2d38f04dcc1133de57df0f402a654357a0383e0a9", "fetched_at": "2026-08-29T08:38:36.149363+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases"}, {"content_hash": "18a3aeb3d9671680c1b3d9d01ac148e1fcd2d4e8508b4037ea9ac93f718f304f", "fetched_at": "2026-08-29T08:38:36.151635+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases/jooq-as-a-sql-builder-with-code-generation"}, {"content_hash": "1996d9dee5cc3cf5c06a721bff8cb22a30165d33a778416e7dd1eb7bf5badb13", "fetched_at": "2026-08-29T08:38:36.161789+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/tutorials/jooq-in-7-steps"}, {"content_hash": "33fe07910619465dd4da1f01727774ab74e7e1697a1a76ad37c3c77933bbc417", "fetched_at": "2026-08-29T08:38:36.146353+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/download"}, {"content_hash": "cf2c6c7eca235a7605849195d6efc86b4ff3eb5a731c2ea28ff6d951e79279fb", "fetched_at": "2026-08-29T08:38:36.155554+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/sql-execution/execute-listeners"}, {"content_hash": "9adf56c5cf47ef2ded25176b454e2018f7b492b101caf63e7e9bddfb738030ca", "fetched_at": "2026-08-29T08:38:36.153629+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/code-generation"}, {"content_hash": "e6d7a5e3833db6acc27a65fc7ab09998978fb126f9c78ccd98655afbf382ce8e", "fetched_at": "2026-08-29T08:38:36.157417+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/javadoc/latest/org/jooq/ExecuteListener.html"}, {"content_hash": "d237f8493427820e7ef81a5c93a8dca46858a3e521895fd419aef22a7354a2be", "fetched_at": "2026-08-29T08:38:36.160049+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/faq"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:42:23.383846+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "718fb32f7ae1afd9afdbdd20f80419e8c874d78508661546ed63e402ef0a733b", "fetched_at": "2026-08-28T04:09:48.503876+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jOOQ/jOOQ"}, {"content_hash": "37c73d0fdcc47fe911d7caed0e71e3105634e87e098a09536acd43d1db724ecc", "fetched_at": "2026-08-29T08:38:36.142666+00:00", "kind": "homepage", "missing": false, "url": "https://www.jooq.org"}, {"content_hash": "c8a69632a31cb88271f4a3a2d38f04dcc1133de57df0f402a654357a0383e0a9", "fetched_at": "2026-08-29T08:38:36.149363+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases"}, {"content_hash": "18a3aeb3d9671680c1b3d9d01ac148e1fcd2d4e8508b4037ea9ac93f718f304f", "fetched_at": "2026-08-29T08:38:36.151635+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases/jooq-as-a-sql-builder-with-code-generation"}, {"content_hash": "1996d9dee5cc3cf5c06a721bff8cb22a30165d33a778416e7dd1eb7bf5badb13", "fetched_at": "2026-08-29T08:38:36.161789+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/tutorials/jooq-in-7-steps"}, {"content_hash": "33fe07910619465dd4da1f01727774ab74e7e1697a1a76ad37c3c77933bbc417", "fetched_at": "2026-08-29T08:38:36.146353+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/download"}, {"content_hash": "cf2c6c7eca235a7605849195d6efc86b4ff3eb5a731c2ea28ff6d951e79279fb", "fetched_at": "2026-08-29T08:38:36.155554+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/sql-execution/execute-listeners"}, {"content_hash": "9adf56c5cf47ef2ded25176b454e2018f7b492b101caf63e7e9bddfb738030ca", "fetched_at": "2026-08-29T08:38:36.153629+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/code-generation"}, {"content_hash": "e6d7a5e3833db6acc27a65fc7ab09998978fb126f9c78ccd98655afbf382ce8e", "fetched_at": "2026-08-29T08:38:36.157417+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/javadoc/latest/org/jooq/ExecuteListener.html"}, {"content_hash": "d237f8493427820e7ef81a5c93a8dca46858a3e521895fd419aef22a7354a2be", "fetched_at": "2026-08-29T08:38:36.160049+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/faq"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.503876+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.503876+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.503876+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:42:23.383846+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "718fb32f7ae1afd9afdbdd20f80419e8c874d78508661546ed63e402ef0a733b", "fetched_at": "2026-08-28T04:09:48.503876+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jOOQ/jOOQ"}, {"content_hash": "37c73d0fdcc47fe911d7caed0e71e3105634e87e098a09536acd43d1db724ecc", "fetched_at": "2026-08-29T08:38:36.142666+00:00", "kind": "homepage", "missing": false, "url": "https://www.jooq.org"}, {"content_hash": "c8a69632a31cb88271f4a3a2d38f04dcc1133de57df0f402a654357a0383e0a9", "fetched_at": "2026-08-29T08:38:36.149363+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases"}, {"content_hash": "18a3aeb3d9671680c1b3d9d01ac148e1fcd2d4e8508b4037ea9ac93f718f304f", "fetched_at": "2026-08-29T08:38:36.151635+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases/jooq-as-a-sql-builder-with-code-generation"}, {"content_hash": "1996d9dee5cc3cf5c06a721bff8cb22a30165d33a778416e7dd1eb7bf5badb13", "fetched_at": "2026-08-29T08:38:36.161789+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/tutorials/jooq-in-7-steps"}, {"content_hash": "33fe07910619465dd4da1f01727774ab74e7e1697a1a76ad37c3c77933bbc417", "fetched_at": "2026-08-29T08:38:36.146353+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/download"}, {"content_hash": "cf2c6c7eca235a7605849195d6efc86b4ff3eb5a731c2ea28ff6d951e79279fb", "fetched_at": "2026-08-29T08:38:36.155554+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/sql-execution/execute-listeners"}, {"content_hash": "9adf56c5cf47ef2ded25176b454e2018f7b492b101caf63e7e9bddfb738030ca", "fetched_at": "2026-08-29T08:38:36.153629+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/code-generation"}, {"content_hash": "e6d7a5e3833db6acc27a65fc7ab09998978fb126f9c78ccd98655afbf382ce8e", "fetched_at": "2026-08-29T08:38:36.157417+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/javadoc/latest/org/jooq/ExecuteListener.html"}, {"content_hash": "d237f8493427820e7ef81a5c93a8dca46858a3e521895fd419aef22a7354a2be", "fetched_at": "2026-08-29T08:38:36.160049+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/faq"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.503876+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.503876+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:42:23.383846+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "718fb32f7ae1afd9afdbdd20f80419e8c874d78508661546ed63e402ef0a733b", "fetched_at": "2026-08-28T04:09:48.503876+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jOOQ/jOOQ"}, {"content_hash": "37c73d0fdcc47fe911d7caed0e71e3105634e87e098a09536acd43d1db724ecc", "fetched_at": "2026-08-29T08:38:36.142666+00:00", "kind": "homepage", "missing": false, "url": "https://www.jooq.org"}, {"content_hash": "c8a69632a31cb88271f4a3a2d38f04dcc1133de57df0f402a654357a0383e0a9", "fetched_at": "2026-08-29T08:38:36.149363+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases"}, {"content_hash": "18a3aeb3d9671680c1b3d9d01ac148e1fcd2d4e8508b4037ea9ac93f718f304f", "fetched_at": "2026-08-29T08:38:36.151635+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases/jooq-as-a-sql-builder-with-code-generation"}, {"content_hash": "1996d9dee5cc3cf5c06a721bff8cb22a30165d33a778416e7dd1eb7bf5badb13", "fetched_at": "2026-08-29T08:38:36.161789+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/tutorials/jooq-in-7-steps"}, {"content_hash": "33fe07910619465dd4da1f01727774ab74e7e1697a1a76ad37c3c77933bbc417", "fetched_at": "2026-08-29T08:38:36.146353+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/download"}, {"content_hash": "cf2c6c7eca235a7605849195d6efc86b4ff3eb5a731c2ea28ff6d951e79279fb", "fetched_at": "2026-08-29T08:38:36.155554+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/sql-execution/execute-listeners"}, {"content_hash": "9adf56c5cf47ef2ded25176b454e2018f7b492b101caf63e7e9bddfb738030ca", "fetched_at": "2026-08-29T08:38:36.153629+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/code-generation"}, {"content_hash": "e6d7a5e3833db6acc27a65fc7ab09998978fb126f9c78ccd98655afbf382ce8e", "fetched_at": "2026-08-29T08:38:36.157417+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/javadoc/latest/org/jooq/ExecuteListener.html"}, {"content_hash": "d237f8493427820e7ef81a5c93a8dca46858a3e521895fd419aef22a7354a2be", "fetched_at": "2026-08-29T08:38:36.160049+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/faq"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.503876+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.503876+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.503876+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:42:23.383846+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "718fb32f7ae1afd9afdbdd20f80419e8c874d78508661546ed63e402ef0a733b", "fetched_at": "2026-08-28T04:09:48.503876+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jOOQ/jOOQ"}, {"content_hash": "37c73d0fdcc47fe911d7caed0e71e3105634e87e098a09536acd43d1db724ecc", "fetched_at": "2026-08-29T08:38:36.142666+00:00", "kind": "homepage", "missing": false, "url": "https://www.jooq.org"}, {"content_hash": "c8a69632a31cb88271f4a3a2d38f04dcc1133de57df0f402a654357a0383e0a9", "fetched_at": "2026-08-29T08:38:36.149363+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases"}, {"content_hash": "18a3aeb3d9671680c1b3d9d01ac148e1fcd2d4e8508b4037ea9ac93f718f304f", "fetched_at": "2026-08-29T08:38:36.151635+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases/jooq-as-a-sql-builder-with-code-generation"}, {"content_hash": "1996d9dee5cc3cf5c06a721bff8cb22a30165d33a778416e7dd1eb7bf5badb13", "fetched_at": "2026-08-29T08:38:36.161789+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/tutorials/jooq-in-7-steps"}, {"content_hash": "33fe07910619465dd4da1f01727774ab74e7e1697a1a76ad37c3c77933bbc417", "fetched_at": "2026-08-29T08:38:36.146353+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/download"}, {"content_hash": "cf2c6c7eca235a7605849195d6efc86b4ff3eb5a731c2ea28ff6d951e79279fb", "fetched_at": "2026-08-29T08:38:36.155554+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/sql-execution/execute-listeners"}, {"content_hash": "9adf56c5cf47ef2ded25176b454e2018f7b492b101caf63e7e9bddfb738030ca", "fetched_at": "2026-08-29T08:38:36.153629+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/code-generation"}, {"content_hash": "e6d7a5e3833db6acc27a65fc7ab09998978fb126f9c78ccd98655afbf382ce8e", "fetched_at": "2026-08-29T08:38:36.157417+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/javadoc/latest/org/jooq/ExecuteListener.html"}, {"content_hash": "d237f8493427820e7ef81a5c93a8dca46858a3e521895fd419aef22a7354a2be", "fetched_at": "2026-08-29T08:38:36.160049+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/faq"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.503876+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.503876+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:42:23.383846+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "718fb32f7ae1afd9afdbdd20f80419e8c874d78508661546ed63e402ef0a733b", "fetched_at": "2026-08-28T04:09:48.503876+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jOOQ/jOOQ"}, {"content_hash": "37c73d0fdcc47fe911d7caed0e71e3105634e87e098a09536acd43d1db724ecc", "fetched_at": "2026-08-29T08:38:36.142666+00:00", "kind": "homepage", "missing": false, "url": "https://www.jooq.org"}, {"content_hash": "c8a69632a31cb88271f4a3a2d38f04dcc1133de57df0f402a654357a0383e0a9", "fetched_at": "2026-08-29T08:38:36.149363+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases"}, {"content_hash": "18a3aeb3d9671680c1b3d9d01ac148e1fcd2d4e8508b4037ea9ac93f718f304f", "fetched_at": "2026-08-29T08:38:36.151635+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases/jooq-as-a-sql-builder-with-code-generation"}, {"content_hash": "1996d9dee5cc3cf5c06a721bff8cb22a30165d33a778416e7dd1eb7bf5badb13", "fetched_at": "2026-08-29T08:38:36.161789+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/tutorials/jooq-in-7-steps"}, {"content_hash": "33fe07910619465dd4da1f01727774ab74e7e1697a1a76ad37c3c77933bbc417", "fetched_at": "2026-08-29T08:38:36.146353+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/download"}, {"content_hash": "cf2c6c7eca235a7605849195d6efc86b4ff3eb5a731c2ea28ff6d951e79279fb", "fetched_at": "2026-08-29T08:38:36.155554+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/sql-execution/execute-listeners"}, {"content_hash": "9adf56c5cf47ef2ded25176b454e2018f7b492b101caf63e7e9bddfb738030ca", "fetched_at": "2026-08-29T08:38:36.153629+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/code-generation"}, {"content_hash": "e6d7a5e3833db6acc27a65fc7ab09998978fb126f9c78ccd98655afbf382ce8e", "fetched_at": "2026-08-29T08:38:36.157417+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/javadoc/latest/org/jooq/ExecuteListener.html"}, {"content_hash": "d237f8493427820e7ef81a5c93a8dca46858a3e521895fd419aef22a7354a2be", "fetched_at": "2026-08-29T08:38:36.160049+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/faq"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:42:23.383846+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "718fb32f7ae1afd9afdbdd20f80419e8c874d78508661546ed63e402ef0a733b", "fetched_at": "2026-08-28T04:09:48.503876+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jOOQ/jOOQ"}, {"content_hash": "37c73d0fdcc47fe911d7caed0e71e3105634e87e098a09536acd43d1db724ecc", "fetched_at": "2026-08-29T08:38:36.142666+00:00", "kind": "homepage", "missing": false, "url": "https://www.jooq.org"}, {"content_hash": "c8a69632a31cb88271f4a3a2d38f04dcc1133de57df0f402a654357a0383e0a9", "fetched_at": "2026-08-29T08:38:36.149363+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases"}, {"content_hash": "18a3aeb3d9671680c1b3d9d01ac148e1fcd2d4e8508b4037ea9ac93f718f304f", "fetched_at": "2026-08-29T08:38:36.151635+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases/jooq-as-a-sql-builder-with-code-generation"}, {"content_hash": "1996d9dee5cc3cf5c06a721bff8cb22a30165d33a778416e7dd1eb7bf5badb13", "fetched_at": "2026-08-29T08:38:36.161789+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/tutorials/jooq-in-7-steps"}, {"content_hash": "33fe07910619465dd4da1f01727774ab74e7e1697a1a76ad37c3c77933bbc417", "fetched_at": "2026-08-29T08:38:36.146353+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/download"}, {"content_hash": "cf2c6c7eca235a7605849195d6efc86b4ff3eb5a731c2ea28ff6d951e79279fb", "fetched_at": "2026-08-29T08:38:36.155554+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/sql-execution/execute-listeners"}, {"content_hash": "9adf56c5cf47ef2ded25176b454e2018f7b492b101caf63e7e9bddfb738030ca", "fetched_at": "2026-08-29T08:38:36.153629+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/code-generation"}, {"content_hash": "e6d7a5e3833db6acc27a65fc7ab09998978fb126f9c78ccd98655afbf382ce8e", "fetched_at": "2026-08-29T08:38:36.157417+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/javadoc/latest/org/jooq/ExecuteListener.html"}, {"content_hash": "d237f8493427820e7ef81a5c93a8dca46858a3e521895fd419aef22a7354a2be", "fetched_at": "2026-08-29T08:38:36.160049+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/faq"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:42:23.383846+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "718fb32f7ae1afd9afdbdd20f80419e8c874d78508661546ed63e402ef0a733b", "fetched_at": "2026-08-28T04:09:48.503876+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jOOQ/jOOQ"}, {"content_hash": "37c73d0fdcc47fe911d7caed0e71e3105634e87e098a09536acd43d1db724ecc", "fetched_at": "2026-08-29T08:38:36.142666+00:00", "kind": "homepage", "missing": false, "url": "https://www.jooq.org"}, {"content_hash": "c8a69632a31cb88271f4a3a2d38f04dcc1133de57df0f402a654357a0383e0a9", "fetched_at": "2026-08-29T08:38:36.149363+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases"}, {"content_hash": "18a3aeb3d9671680c1b3d9d01ac148e1fcd2d4e8508b4037ea9ac93f718f304f", "fetched_at": "2026-08-29T08:38:36.151635+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases/jooq-as-a-sql-builder-with-code-generation"}, {"content_hash": "1996d9dee5cc3cf5c06a721bff8cb22a30165d33a778416e7dd1eb7bf5badb13", "fetched_at": "2026-08-29T08:38:36.161789+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/tutorials/jooq-in-7-steps"}, {"content_hash": "33fe07910619465dd4da1f01727774ab74e7e1697a1a76ad37c3c77933bbc417", "fetched_at": "2026-08-29T08:38:36.146353+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/download"}, {"content_hash": "cf2c6c7eca235a7605849195d6efc86b4ff3eb5a731c2ea28ff6d951e79279fb", "fetched_at": "2026-08-29T08:38:36.155554+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/sql-execution/execute-listeners"}, {"content_hash": "9adf56c5cf47ef2ded25176b454e2018f7b492b101caf63e7e9bddfb738030ca", "fetched_at": "2026-08-29T08:38:36.153629+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/code-generation"}, {"content_hash": "e6d7a5e3833db6acc27a65fc7ab09998978fb126f9c78ccd98655afbf382ce8e", "fetched_at": "2026-08-29T08:38:36.157417+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/javadoc/latest/org/jooq/ExecuteListener.html"}, {"content_hash": "d237f8493427820e7ef81a5c93a8dca46858a3e521895fd419aef22a7354a2be", "fetched_at": "2026-08-29T08:38:36.160049+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/faq"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:42:23.383846+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "718fb32f7ae1afd9afdbdd20f80419e8c874d78508661546ed63e402ef0a733b", "fetched_at": "2026-08-28T04:09:48.503876+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jOOQ/jOOQ"}, {"content_hash": "37c73d0fdcc47fe911d7caed0e71e3105634e87e098a09536acd43d1db724ecc", "fetched_at": "2026-08-29T08:38:36.142666+00:00", "kind": "homepage", "missing": false, "url": "https://www.jooq.org"}, {"content_hash": "c8a69632a31cb88271f4a3a2d38f04dcc1133de57df0f402a654357a0383e0a9", "fetched_at": "2026-08-29T08:38:36.149363+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases"}, {"content_hash": "18a3aeb3d9671680c1b3d9d01ac148e1fcd2d4e8508b4037ea9ac93f718f304f", "fetched_at": "2026-08-29T08:38:36.151635+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/use-cases/jooq-as-a-sql-builder-with-code-generation"}, {"content_hash": "1996d9dee5cc3cf5c06a721bff8cb22a30165d33a778416e7dd1eb7bf5badb13", "fetched_at": "2026-08-29T08:38:36.161789+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/getting-started/tutorials/jooq-in-7-steps"}, {"content_hash": "33fe07910619465dd4da1f01727774ab74e7e1697a1a76ad37c3c77933bbc417", "fetched_at": "2026-08-29T08:38:36.146353+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/download"}, {"content_hash": "cf2c6c7eca235a7605849195d6efc86b4ff3eb5a731c2ea28ff6d951e79279fb", "fetched_at": "2026-08-29T08:38:36.155554+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/sql-execution/execute-listeners"}, {"content_hash": "9adf56c5cf47ef2ded25176b454e2018f7b492b101caf63e7e9bddfb738030ca", "fetched_at": "2026-08-29T08:38:36.153629+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/doc/3.21/manual/code-generation"}, {"content_hash": "e6d7a5e3833db6acc27a65fc7ab09998978fb126f9c78ccd98655afbf382ce8e", "fetched_at": "2026-08-29T08:38:36.157417+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/javadoc/latest/org/jooq/ExecuteListener.html"}, {"content_hash": "d237f8493427820e7ef81a5c93a8dca46858a3e521895fd419aef22a7354a2be", "fetched_at": "2026-08-29T08:38:36.160049+00:00", "kind": "site_page", "missing": false, "url": "https://www.jooq.org/faq"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 84}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5617, "days_push": 7, "days_rel": 29, "gap_med": 0.0, "n_releases_24m": 81}, "score": 94, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}