За съжаление, разширяването на jOOQ за цялостна поддръжка на нов SQL диалект не е много лесно. API на jOOQ се разрасна с течение на времето, поддържайки голям набор от стандартни и специфични за доставчика варианти на SQL синтаксис. Въпреки че диалектът Apache Hive може да изглежда подобен на MySQL, вероятно има много фини разлики, които трябва да бъдат внедрени във вътрешността на jOOQ. Различното изпълнение на клаузата LIMIT .. OFFSET е само един проблем. Въпреки това, обикновено не е добра идея да използвате jOOQ с „неизвестен“ или „неподдържан“ диалект.
Решение:В краткосрочен план
В краткосрочен план вероятно ще трябва да закърпите изобразения SQL на jOOQ. Най-добрата техника за това е да използвате ExecuteListener, както е документирано тук:
- http://www.jooq.org /doc/latest/manual/sql-execution/execute-listeners/
- http://www.jooq.org/javadoc/ latest/org/jooq/ExecuteListener.html
При получаване на събитие "renderEnd()" вие ще можете да осъществите достъп до изобразения SQL и да го промените с помощта на регулярни изрази или друга техника, която предпочитате.
Решение:В дългосрочен план
В дългосрочен план може да има по-добро решение, ако / когато #2337 е внедрено (но ние вероятно няма да приложим това)