Sayangnya, memperluas jOOQ untuk sepenuhnya mendukung dialek SQL baru tidaklah mudah. API jOOQ telah berkembang luas dari waktu ke waktu, mendukung serangkaian besar varian sintaks SQL standar dan khusus vendor. Meskipun dialek Apache Hive mungkin tampak mirip dengan MySQL, mungkin ada banyak perbedaan halus yang perlu diterapkan di internal jOOQ. Implementasi yang berbeda dari klausa LIMIT .. OFFSET hanya menjadi satu masalah. Oleh karena itu, umumnya bukan ide yang baik untuk menggunakan jOOQ dengan dialek "tidak dikenal" atau "tidak didukung".
Solusi:Dalam jangka pendek
Dalam jangka pendek, Anda mungkin harus menambal SQL yang dirender jOOQ. Teknik terbaik untuk ini adalah dengan menggunakan ExecuteListener seperti yang didokumentasikan di sini:
- http://www.jooq.org /doc/latest/manual/sql-execution/execute-listeners/
- http://www.jooq.org/javadoc/ terbaru/org/jooq/ExecuteListener.html
Setelah menerima acara "renderEnd()", Anda akan dapat mengakses SQL yang dirender dan memodifikasinya menggunakan ekspresi reguler atau teknik apa pun yang Anda inginkan.
Solusi:Dalam jangka panjang
Dalam jangka panjang, mungkin ada solusi yang lebih baik jika / ketika #2337 diimplementasikan (tetapi kami mungkin tidak akan mengimplementasikannya)