カーソルが解放されるタイミング - ablog の続き。 Statement、ResultSet を毎回 close しながら無限ループするプログラムと、Statement、ResultSet を close せずに無限ループするプログラムを実行してみて、前者は永久に実行され、後者はカーソルリークで例外が発生して異常終了することを検証してみた。 [結論] Statement を close すればカーソルリークは発生しない。コネクションプーリングを使わない場合は、Connection を close するとカーソルリークは発生しないが、コネクションプーリングを使う場合は Connection を close しても、Statement を close しないとカーソルリークが発生する。たぶん。 やさしく学ぶ基礎からのJDBC P.137 java.sql.Statementをクローズすると