ResultSet.last()
и другие «абсолютно индексированные» операции запроса доступны только в том случае, если набор результатов равен scrollable ;в противном случае вы можете выполнять итерацию по одному через набор результатов forward-only .
В следующем примере (из javadocs ) показано, как создатьпрокручиваемый ResultSet
.
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY
);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
Имейте в виду, что использование прокручиваемых запросов влияет на производительность.Если целью данного конкретного ResultSet
является получение только его последнего значения, рассмотрите возможность уточнения запроса, чтобы он возвращал только этот результат.