ビジネス・ロジック層でLOBを効率的に使用するには、Javaの入力ストリームおよび出力ストリームを実装し、LOBのローカル・ファイルのコピーを操作することをお薦めします。
入力ストリームを介してLOBを使用するには、次のようにします。
java.io
からファイルおよびストリーム・クラスをインポートします。import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.io.File;
String filename = "temp.jpg"; File tempFile = new File(filename);
BlobDomain myBlob = (BlobDomain) myRow.getAttribute("BlobAttribute"); InputStream blobIn = myBlob.getBinaryStream(); OutputStream fileOut = new FileOutputStream(tempFile); int next; while ((next = blobIn.read()) != -1) { fileOut.write(next); } blobIn.close(); fileOut.close();
FileInputStream fileIn = new FileInputStream(tempFile); OutputStream blobOut = myBlob.getBinaryOutputStream(); while ((next = fileIn.read()) != -1) { blobOut.write(next); } fileIn.close(); blobOut.close();
エンティティ・オブジェクト、Associationおよびデータベース表の生成について