Is there any sort of extension that would allow me to use Postgres ltrees in JOOQ without having to use raw SQL?
Any way to make one myself maybe?
Is there any sort of extension that would allow me to use Postgres ltrees in JOOQ without having to use raw SQL?
Any way to make one myself maybe?
With #13188, jOOQ has added native support for LTREE types (and similar) via the jooq-postgres-extensions module:
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq-postgres-extensions</artifactId>
</dependency>
Just add that module to both code generation and runtime classpaths, and the code generator will auto-configure the relevant Binding for you.
You have to implement a custom data type binding (org.jooq.Binding) and apply that to your generated code: https://www.jooq.org/doc/latest/manual/code-generation/custom-data-type-bindings.
A Binding allows you to tell jOOQ how to:
?::ltree in your case)PreparedStatementSQLOutput (optional, when your type is contained in a UDT, currently only in Oracle)ResultSetCallableStatement (optional, when you fetch it from a function OUT parameter)SQLInput (optional, when your type is contained in a UDT, currently only in Oracle)