Я строю предложение WHERE запроса JOOQ. Некоторые условия используют EXISTS, и я хотел бы предоставить подзапрос как простой SQL, потому что они длинны, выражены с помощью JOOQ. например.
select 1 from jsonb_array_elements(resource->'name') as t1,
jsonb_array_elements_text(t1.value->'given') as t2
where t2.value like ?
Однако DSL.exists () принимает только параметр Select type в качестве параметра, и независимо от того, какой метод DSL.select ... () я использую, он обернет мой фрагмент SQL другим select.
DSL.exists(DSL.selectFrom(DSL.sql(...)))
И запрос будет выглядеть так:
... where exists (select * from (select 1 from ...
Есть ли способ избежать ненужного выбора оболочки?