我正在寻找jooq中的函数来使用postgres的
jsonb_array_elements
函数。我正在尝试将此查询转换为 jooq:
select
s.id as shipment_id,
so.id as sales_order_id,
s_item -> 'productId' as product_id,
s_item -> 'sub_items' as sub_items
from shipment s
join sales_order so
on s.sales_order_id = so.id,
jsonb_array_elements(s.items) AS s_item
where s.status = 'READY'
我查看了 jooq 文档的 json 函数部分,但没有找到它。
在 jooq 中是否有解决方法或不同的表达方式
jsonb_array_elements
?
jOOQ尚不支持此功能。您可以使用:
JSON_TABLE
。这是一个 SQL 标准,PostgreSQL 15 尚未支持,但可能很快就会支持。它的工作原理几乎就像你的函数一样。 jOOQ 使用 jsonb_path_query_first
在后一种情况下,只需使用:
Table<?> table = DSL.table("jsonb_array_elements({0})", s.ITEMS);