Я интегрировал jooq с spring и для всех типов запросов к базе данных (MySQL) я использую шаблон JDBC Spring. Библиотека jooq используется здесь для генерации запроса sql для перехода к шаблону jdbc.
Хотя остальная часть моего запроса работает нормально, пока я не добавлю ограничение и/или смещение к запросу.
Я генерирую запрос следующим образом:
create.select(Factory.field("table_name"))
.from("tables t")
.where("t.table_schema LIKE '" + schemaName + "'")
.limit(10)
.offset(2)
.getSQL();
Я получаю ошибку следующим образом:
org.springframework.jdbc.BadSqlGrammarException: StatementCallback; неверная грамматика SQL [выберите table_name из таблиц t где (t.table_schema LIKE 'test') limit ? компенсировать ?]; вложенным исключением является com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса для использования рядом с '? компенсировать ?' в строке 1
Что ясно говорит о том, что значения, переданные в метод limit и offset, не добавляются к запросу.
Я искал документацию, но не нашел другого способа добиться этого.