public void deployProcessDefinition(byte[] processDef, byte[] processImage) {
//使用hibernate的工具把byte[]-->Blob
Blob blobProcessImage_ = Hibernate.createBlob(processImage);
//通过byte【】数字创建ProcessDefinition
ProcessDefinition def =
ProcessDefinition.parseXmlInputStream(
new ByteArrayInputStream(processDef));
//将流程定义部署都jbpm
getContext().deployProcessDefinition(def);
Session session = getSession();
//到oa
Workflow workflow = (Workflow)getSession()
.createQuery("select w from cn.blueram.oa.model.Workflow w where w.name = ?")
.setParameter(0, def.getName())
.uniqueResult();
if(workflow == null) {
workflow = new Workflow();
workflow.setName(def.getName());
workflow.setProcessDef(processDef);
workflow.setProcessImage(Hibernate.createBlob(new byte[1]));
//数据库没有,添加新的存储到数据库
session.save(workflow);
session.flush();
session.refresh(workflow,LockMode.UPGRADE);
SerializableBlob blobProcessImage = (SerializableBlob)workflow.getProcessImage();
java.sql.Blob blo = (java.sql.Blob)blobProcessImage.getWrappedBlob();
oracle.sql.BLOB obj = (oracle.sql.BLOB)blo;
try {
OutputStream outs = obj.getBinaryOutputStream();
outs.write(processImage,0,processImage.length);
outs.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
session.save(workflow);
return;
}
分享到:
相关推荐
Struts2 Hibernate存取Oracle数据库中的BLOB数据.pdf
只需要安装oracle client在本地,然后配置好tns,输入连接名,用户名,密码,数据表的名称,文件名数据列名以及blob数据列名,就可以批量导出ORACLE数据库BLOB字段生成图片
只需要安装oracle client在本地,然后配置好tns,输入连接名,用户名,密码,数据表的名称,文件名数据列名以及blob数据列名,就可以批量导出ORACLE数据库BLOB字段生成图片
java对oracle数据库中blob字段的处理
C#访问oracle数据库类 1、执行非查询命令 2、执行查询命令 3、带blob字段读写
用hibernate和jdbc读存blob或clob
c#操作oracle数据库Blob源码,包括Update&Insert
JDBC操纵Oracle数据库中的BLOB字段
jsp操作mysql数据库的blob字段,实现: 1、将磁盘文件存入mysql数据库; 2、将mysql数据库中存入的文件,读出来,输出给浏览器。
基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案
基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案.pdf
使用JDBC和Hibernate来写入Blob型数据到Oracle中;使用JDBC和Hibernate来写入Blob型数据到Oracle中
JDBC+Hibernate将Blob数据写入Oracle
从oracle中的BLOB类型字段中取出照片,转存到mysql数据库中。思路是现将oracle中的照片存储在本地文件夹,在将本地图片上传到mysql中。
此文档是对于oracle数据库中blob类型字段二进制大对象的读取和解析
在C中存取Oracle数据库表中BLOB数据的方法研究.pdf
gradle导入本地oracle包连接数据库,内含oracle6.jar包
使用Hibernate映射Blob,Clob字段,并对这些字段完成存,取功能
oracle中对blob字段的处理方法,包括增加,删除,修改,更新等操作。
利用VB存取数据库中BLOB数据,此文档仅提供了一种方法,仅供需要者参考(文档来源于网络,供大家参考学习使用)