Is there a way to query ltrees in JOOQ?

Tags: , , ,



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?

Answer

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:

  • generate SQL for it (probably something like ?::ltree in your case)
  • bind your data type to JDBC
    • PreparedStatement
    • SQLOutput (optional, when your type is contained in a UDT, currently only in Oracle)
  • read it from JDBC
    • ResultSet
    • CallableStatement (optional, when you fetch it from a function OUT parameter)
    • SQLInput (optional, when your type is contained in a UDT, currently only in Oracle)


Source: stackoverflow