Даже если бы вы могли, вы не должны, если вы не программируете против очень специфического драйвера jdbc. В некоторых случаях набор результатов не будет создаваться вообще. В других (Oracle IIRC) вы можете настроить его так, чтобы он выбирал только определенное количество строк из общего числа.
Однако, в общем, если вы потеряете соединение, у вас есть больше поводов для беспокойства, чем вопрос, можете ли вы перебрать частично извлеченный объект набора результатов. В таких случаях эмпирическое правило составляет
- предположить худшее;
- попытка закрыть набор результатов,
заявление и связь; даже если
физическое соединение потеряно,
там могут быть ресурсы, такие как память
и файловые дескрипторы на вызывающей стороне
которые должны быть утилизированы;
- если возможно, попытайтесь получить новый
соединение (либо новое физическое
один или из пула соединений) и
начать заново.
Кроме того, как правило, вам не следует беспокоиться о частичных сбоях при выполнении операторов внутри транзакции. Откажитесь и повторите попытку заново.
В некоторых редких случаях БД может отправить вам код, специфичный для поставщика ( SQLException.getErrorCode () ), который может указать, можно ли повторить операцию. У Oracle есть некоторые конкретные коды (не запоминайте их) для случаев, когда вы делаете вставку, и уникальное ограничение было нарушено. Иногда такие неудачные операции можно повторить, но это зависит от поставщика и бизнеса.
В общем, просто сбросьте набор результатов поиска и начните сначала.