У меня проблемы с подкачкой страниц по порядку, так как я не работаю в Eclipselink независимо от того, какую платформу я настраиваю в файле persistence.xml. Я вспоминаю основные части Eclipselink в прошлом, я помню расширение класса платформы, но детали улетучились из моей памяти. Сегодня я искал ответы и ничего не смог найти, поэтому надеюсь, что кто-то здесь уже делал это и может указать мне правильное направление.
Решение:
public class DB2MainframeSystemNamingPlatform extends DB2MainframePlatform {
@Override
public void printSQLSelectStatement(DatabaseCall call,
ExpressionSQLPrinter printer, SQLSelectStatement statement){
int max = 0;
int firstRow = 0;
if (statement.getQuery()!=null){
max = statement.getQuery().getMaxRows();
firstRow = statement.getQuery().getFirstResult();
}
if ( !(this.shouldUseRownumFiltering()) || ( !(max>0) && !(firstRow>0) ) ){
super.printSQLSelectStatement(call, printer, statement);
return;
} else if ( max > 0 ){
call.setFields(statement.printSQL(printer));
printer.printString(" LIMIT ");
printer.printParameter(DatabaseCall.MAXROW_FIELD);
printer.printString(" OFFSET ");
printer.printParameter(DatabaseCall.FIRSTRESULT_FIELD);
} else {
call.setFields(statement.printSQL(printer));
printer.printString(" OFFSET ");
printer.printParameter(DatabaseCall.FIRSTRESULT_FIELD);
}
call.setIgnoreFirstRowSetting(true);
call.setIgnoreMaxResultsSetting(true);
}
}