SSH一次写入多个BLOB字段的数据
public void saveReportreport(Reportreport rr, String rptpath,
String htmlpath, String pdfpath) throws IOException,
HibernateException, SQLException {
// 处理半成品的REPORTREPORT
this.getHibernateTemplate().save(rr);
this.getHibernateTemplate().flush();
this.getHibernateTemplate().refresh(rr, LockMode.UPGRADE);
oracle.sql.BLOB blorpt = (oracle.sql.BLOB) rr.getHtmp();
oracle.sql.BLOB blohtml = (oracle.sql.BLOB) rr.getHcontent();
oracle.sql.BLOB blopdf = (oracle.sql.BLOB) rr.getPcontent();
OutputStream out1 = blorpt.getBinaryOutputStream();
FileInputStream fis1 = new FileInputStream(rptpath);
byte[] buf1 = new byte[10240];
int len1;
while ((len1 = fis1.read(buf1)) > 0) {
out1.write(buf1, 0, len1);
}
fis1.close();
out1.close();
OutputStream out2 = blohtml.getBinaryOutputStream();
FileInputStream fis2 = new FileInputStream(htmlpath);
byte[] buf2 = new byte[10240];
int len2;
while ((len2 = fis2.read(buf2)) > 0) {
out2.write(buf2, 0, len2);
}
fis2.close();
out2.close();
OutputStream out3 = blopdf.getBinaryOutputStream();
FileInputStream fis3 = new FileInputStream(pdfpath);
byte[] buf3 = new byte[10240];
int len3;
while ((len3 = fis3.read(buf3)) > 0) {
out3.write(buf3, 0, len3);
}
fis3.close();
out3.close();
this.getHibernateTemplate().save(rr);
}