Sfortunatamente, estendere jOOQ per supportare completamente un nuovo dialetto SQL non è molto semplice. L'API di jOOQ è cresciuta nel tempo, supportando un'ampia serie di varianti di sintassi SQL standard e specifiche del fornitore. Sebbene il dialetto Apache Hive possa sembrare simile a MySQL, ci sono probabilmente molte sottili differenze che dovrebbero essere implementate negli interni di jOOQ. La diversa implementazione della clausola LIMIT .. OFFSET è solo un problema. Detto questo, generalmente non è una buona idea usare jOOQ con un dialetto "sconosciuto" o "non supportato".
Soluzione:nel breve periodo
A breve termine, probabilmente dovrai applicare una patch all'SQL renderizzato di jOOQ. La tecnica migliore per questo è usare un ExecuteListener come documentato qui:
- http://www.jooq.org /doc/latest/manual/sql-execution/execute-listeners/
- http://www.jooq.org/javadoc/ latest/org/jooq/ExecuteListener.html
Dopo aver ricevuto un evento "renderEnd()", sarai in grado di accedere all'SQL renderizzato e modificarlo usando espressioni regolari o qualsiasi tecnica tu preferisca.
Soluzione:a lungo termine
A lungo termine, potrebbe esserci una soluzione migliore se / quando #2337 è implementato (ma probabilmente non lo implementeremo)