Это не совсем так, как работает ResultSet. Он не хранит данные сам по себе, он просто действует как интерфейс к ним.
Вместо этого вы можете попробовать, чтобы класс, возвращающий ResultSet
, содержал список тех, которые он выдал. Каждый фрагмент кода, который использует ResultSet, может вызывать close()
, когда это будет сделано. Затем первый класс может проверить, все ли выданные ResultSet были закрыты (используя isClosed()
), и, если это так, закрыть соединение.