JDBC ResultSet ScrollSensitiveTypeとResultSetScroll InsensitiveTypeの違いを教えてもらえますか?
これらは通常、プロジェクトのどこで使用しますか?
ResultSetオブジェクトのタイプによって、カーソルの操作方法と、基になるデータソースに加えられた同時変更がResultSetオブジェクトに反映される方法の2つの領域でその機能のレベルが決まります。
TYPE_SCROLL_INSENSITIVE:
結果はスクロールできます。そのカーソルは、現在の位置に対して前後に移動でき、絶対位置に移動できます。結果セットは、基になるデータソースが開いているときに加えられた変更の影響を受けません。これには、クエリの実行時または行の取得時にクエリを満たす行が含まれます。
TYPE_SCROLL_SENSITIVE:
結果はスクロールできます。そのカーソルは、現在の位置に対して前後に移動でき、絶対位置に移動できます。結果セットは、結果セットが開いたままの状態で、基になるデータソースに加えられた変更を反映します。
詳細については、 javaseチュートリアルを参照してください。
ResultSet Scroll Sensitive Type(TYPE_SCROLL_SENSITIVE
):結果セットがどちらの方向にもスクロール可能であり、他のトランザクションまたは同じトランザクション内のステートメントによってコミットされた変更の影響を受けることを指定します。
Result Set Scroll Insensitive Type(TYPE_SCROLL_INSENSITIVE
):結果セットはどちらの方向にもスクロール可能ですが、他のトランザクションまたは同じトランザクション内の他のステートメントによってコミットされた変更には影響されないことを指定します。
javadocも確認してください
スクロール可能な結果セット(TYPE_SCROLL_SENSITIVE)とスクロール不可能な結果セット(TYPE_SCROLL_INSENSITIVE)はResultset
、感度に基づく2つのタイプのオブジェクトです。Resultsetは、JavaEEアプリケーションからデータベースにアクセスするために使用されるオブジェクトです。
ResultSetオブジェクトにはカーソルがあり、最初はどのレコードも指していません。ResultSetのfirst()関数を呼び出して、カーソルをResultSetオブジェクトが保持する最初のレコードに移動します。ResultSetのget関数は、データベーステーブルの列名を使用して各列のコンテンツへのアクセスを提供します
スクロール不可能な結果セットは、最初の要素から最後の要素への順方向にのみ移動でき、データベース内のどの行にも直接移動することはできません。
スクロール可能な結果セットは両方向、つまり順方向または逆方向にトラバースできますが、データベース内の任意の時点で任意の行を指すことができるため、柔軟性が大幅に向上します。