8

配列やクロブなどを呼び出すための明示的なものが必要free()ですか?それとも、ResultSetやStatementを閉じると自動的に処理されますか?javadocは何も言っていないので、必要ないと思いますが、間違った仮定をするのは嫌です。

また、必要がない場合は、結果セットをすぐに閉じることをお勧めしますか?あなたがそうするつもりがないなら、それがどのように役立つかを私は見ることができました。

4

1 に答える 1

2

使用しているベンダーとJDBCのバージョンによって異なります。すべてのデータベースベンダーがアレイ(MySQLなど)をサポートしているわけではないため

そして、これがjavadocが何も言わない理由かもしれません。

このチュートリアルは、リソースを明示的に解放するように指示されているoracleサイトのJavaSEチュートリアルで配列オブジェクトを使用することを発見しました。

onのシナリオを示す別のリンクを次に示しますfree()JDBC 4のjava.sql.Clob.free()メソッドと下位互換性

必要がない場合は、結果セットをすぐに閉じることをお勧めしますか?

その場合、free()を要求する必要はないと思いますが、長時間実行されるトランザクションの場合は、free()を呼び出すことをお勧めします。

チュートリアルからの引用:

配列オブジェクトは、少なくともそれらが作成されたトランザクションの期間中は有効です。これにより、長時間実行されるトランザクション中にアプリケーションのリソースが不足する可能性があります。アプリケーションは、freeメソッドを呼び出すことによってアレイリソースを解放できます。

于 2012-09-11T05:46:31.700 に答える