JDBC 5章 ResultSetを用いた更新処理
	  	
- 5.1. カーソルの種類
- 5.2. ResultSetを用いたupdate
- 5.3. ResultSetを用いたinsert
- 5.4. ResultSetを用いたdelete
- 5.5. ResultSetで更新処理を行った場合の可視性
5.5. ResultSetで更新処理を行った場合の可視性
自分自身または他のResultSet(他のセッションではない)によって行われた変更が、ResultSetから見えるかどうかはJDBCドライバやデータベースに依存します。ResultSetのタイプによっても異なります。
それを調査するためのメソッドが、「java.sql.DatabaseMetadata」インタフェースで定義されています。3.3節「トランザクションの隔離レベル」でも使用したかと思います。以下がResultSetによる更新処理の可視性を調査するメソッドです。引数は全てResultSetのタイプ(「ResultSet.TYPE_FORWARD_ONLY」「ResultSet.TYPE_SCROLL_INSENSITIVE」「Resultset.TYPE_SCROLL_SENSITIVE」のいずれか)で指定し、結果は全て「true」または「false」で返されます。「true」の場合はサポートしている事を意味します。
| ownInsertsAreVisible(int) | 自身のResultSetによって挿入された行を参照できるか | 
| ownUpdatesAreVisible(int) | 自身のResultSetによって変更された行を参照できるか | 
| ownDeletesAreVisible(int) | 自身のResultSetによって削除された行が判別できるか | 
| othersInsertsAreVisible(int) | 他のResultSetによって挿入された行を参照できるか | 
| othersUpdatesAreVisible(int) | 他のResultSetによって変更された行を参照できるか | 
| othersDeletesAreVisible(int) | 他のResultSetによって削除された行が判別できるか | 
| insertsAreDetected(int) | ResultSetの「rowInserted」メソッドで、対象行が挿入されたものである事を検出できるか | 
| updatesAreDetected(int) | ResultSetの「rowUpdated」メソッドで、対象行に変更があったことを検出できるか | 
| deletesAreDetected(int) | ResultSetの「rowDeleted」メソッドで、対象行が削除された事を検出できるか | 
(実習課題4)
PostgreSQLのJDBCドライバの可視性を調べなさい。

![Webアプリ開発エンジニアのための技術情報サイト[テックスコア]](/common/img/description.gif) 
 







