PreparedStatement#setBlob()
を使用してテーブルを更新するために、byte []入力からBlobオブジェクトを作成したいと思います。 J2SE 6では、これを行うために Java.sql.Connection#createBlob()
があります。 J2SE 1.5.0でこれに似たものはありますか? J2SE 1.5.0でbyte[]
データを使用してBLOBタイプの列を更新する最良の方法は何ですか?
SerialBlob を使用した例:
import Java.sql.Blob;
import javax.sql.rowset.serial.SerialBlob;
byte[] byteArray = .....;
Blob blob = new SerialBlob(byteArray);
Blob
オブジェクトの作成について心配する必要はまったくありません。それらをデータベースのblobとして扱い、byte[]
s Java。例えば:
@Entity
@Table(name = "some.table")
public class MyEntity
{
@Id
int myId;
@Lob
byte[] myBlob;
// snip getters & setters
}
Blob
インスタンスを自分で作成することに真剣に取り組んでいる場合は、 SerialBlob
実装を使用できます。
byte[] bytes = ...;
Blob myBlob = new SerialBlob(bytes);
実際にBlob自体を作成する必要はありません。準備済みステートメントを実行するときは、blobパラメーターを設定するときに、パラメーターにByteArrayInputStreamを使用します。