ResultSet に裏打ちされた Iterator があります。行レベルの後処理に必要です。イテレータは AutoCloseable インターフェースを実装しています。ユーザーによって中断されたすべての行/反復を反復処理するまで、接続は開いたままになります。イテレータのコンシューマが明示的に close() メソッドを呼び出すか、Java7 の try ブロックでイテレータの使用をラップしている場合は、すべて問題ありません。ただし、消費者がそうしない場合、接続がプールに返されることを保証できません。C# の世界では、ファイナライザーを実行し、フォールバック オプションとしてファイナライザーから Dispose(bool) を呼び出します。Javaでも同じことをするべきですか?