setBlob()メソッドとsetBinaryStream()メソッドの相違点とJDBCでより適切なメソッドは?
JDBC では、データベース内のバイナリデータをセットするために `setBlob()` と `setBinaryStream()` という異なる 2 つのメソッドが使用されます。
プレコンパイル済 SQL ステートメントの指定パラメーターに、引数として与えられた Blob オブジェクトを設定するために、setBlob() メソッドが使用されます。Blob オブジェクトは大規模バイナリオブジェクトを表し、大量のバイナリデータを格納できます。setBlob() メソッドは、事前に作成された Blob オブジェクトをパラメーターに直接設定する場合に適しています。
setBinaryStream()メソッドとは、与えられたInputStreamオブジェクトを指定されたプリコンパイルされたSQL文中の指定されたパラメータとして設定するために利用されるメソッドです。InputStreamオブジェクトとは、ファイルやネットワークなどのソースからバイナリデータを読み込むことができるオブジェクトのことです。 setBinaryStream()メソッドは、バイナリデータを動的に生成する時や、リアルタイムで読み込む必要がある場合に適しています。
setBlob()メソッドまたはsetBinaryStream()メソッドのいずれを使用するかは、あなたの要件によって異なります。すでにBlobオブジェクトがある場合は、setBlob()メソッドを直接使用できます。バイナリデータを動的に生成またはリアルタイムで読み取る必要がある場合は、setBinaryStream()メソッドを使用できます。