在已获得JbpmContext实例但未close之前,是否可以用hibernate或ibatis中的DAO?
1、调用ibatis
HashMap mapCond = new HashMap();
mapCond.put("actorId",actorId);
mapCond.put("docId",docId);
mapCond.put("state","等待审批");
List docBorrowList = docBorrowManager.searchDocumentBrrowList(mapCond);
//内部是ibatis来实现的
public List select(HashMap mapCond) {
return (List)getSqlMapClientTemplate().queryForList("selectDocBorrow", mapCond);
}
2、调用hibernate
List docBorrowList = docBorrowManager.searchDocumentBrrowList(actorId,docId,"等待审批");
//内部是hibernate实现
@Override
public List searchDocumentBrrowList(String actorId, long docId, String state) {
String hql = "select dw from DocBorrowInfo dw where dw.actorId = '"+actorId+"' and dw.docId="+docId+" and dw.state = '"+state+"'";
return this.getHibernateTemplate().find(hql);
}
前这两种一运行到这句就无法debug下去,下一步调式按钮变为灰色,点击运行也无法执行下去。
3、调用jbpmContext
List docBorrowList = jbpmContext.getSession().createQuery("from DocBorrowInfo where docId="+docId+" and actorId='"+actorId+"' and state='等待审批'").list();
而调用这种方式则没有问题,可我程序里其他地方也调用了DAO,如
/**
* 已查看确认信息结束流程
* @return
*/
public String haveGetConfirmMessage(){
String processInstanceId = this.getRequest().getParameter("processinstanceId");
String docborrowId = this.getRequest().getParameter("docborrowId");
try{
jbpmContext = jbpmConfiguration.createJbpmContext();
long id = 0;
if(null!=docborrowId&&!"".equals(docborrowId)){
id = Long.parseLong(docborrowId);
}
DocBorrowInfo documentBrrow = docBorrowManager.getDocumentBrrow(id);
//结束流程实例
String name = jbpmDelegate.nextStep(jbpmContext, Long.parseLong(processInstanceId),this.getWebUser().getUser().getName(), "结束授权");
if("结束".equalsIgnoreCase(name)){
//设置状态为“结束”
documentBrrow.setState(DocBorrowInfo.ENDSTATE);
jbpmContext.getSession().update(documentBrrow);
}
}finally{
jbpmContext.close();
}
return this.SUCCESS;
}
其中的 DocBorrowInfo documentBrrow = docBorrowManager.getDocumentBrrow(id);也是调用了hibernate的DAO中的方法
public DocBorrowInfo getDocumentBrrow(long id){
DocBorrowInfo documentBrrow = (DocBorrowInfo)this.getHibernateTemplate().load(DocBorrowInfo.class, id);
return documentBrrow;
}
现在还不知到底是何原因?
分享到:
相关推荐
jBPM工作流详解,jBPM工作流详解 jBPM工作流详解,jBPM工作流详解 jBPM工作流详解,jBPM工作流详解
JBPM工作流开发指南JBPM工作流开发指南JBPM工作流开发指南
采用jboss中的开源工作流引擎开发工作流。jbpm工作流开发。采用eclpise开发工具进行开发详解。
JBPM工作流开发指南v10 JBPM是一个扩展性很强的工作流系统,百分百用JAVA语言开发,持久层采用Hibernate实现,理论上说,只要Hibernate支持的数据库JBPM都支持。同时它还能被部署在任何一款JAVA应用服务器上。
jBPM4工作流应用开发指南 胡奇写的,十分赞!!
jbpm工作流引擎基于J2EE的轻量级,纯java,开源的工作流管理系统。
JBPM3.2工作流开发指南 JBPM是一个扩展性很强的工作流系统,百分百用JAVA语言开发,持久层采用Hibernate实现,理论上说,只要Hibernate支持的数据库JBPM都支持。同时它还能被部署在任何一款JAVA应用服务器上。
jbpm开发指南 jbpm开发指南 jbpm 工作流 自定义
很详细的jBPM工作流应用开发指南(中文版) 很详细的jBPM工作流应用开发指南(中文版)
jbpm 工作流 开发指导,帮助用户快速上手,熟悉企业应用系统中流程的开发。
JBPM5工作流引擎 S2SH+JBPM4.4开发工作流的一个完整的请假流程例子。带有文档教程和所有源码+JAR包。在网上找了半天jbpm6\jbpm7的资料,都很少。所以 环境:Myeclipse2015 JDK1.7 mysql 5.0 Struts2+Spring3.1 1...
工作流程 JBPM工作流管理工作流程 JBPM工作流管理工作流程 JBPM工作流管理工作流程 JBPM工作流管理
对JBPM工作流进行二次开发,主要包括对JBPM功能的扩展、流程定义工具、流程实例监控工具、工作流控制台、应用程序接口以及组织结构扩展接口的开发。 在次基础上,开发基于工作流系统的办公自动化系统等相应的业务...
关于jbpm工作流的一些常用的问题jbpm工作流的一些常用的问题
JBPM工作流开发指南(中文) 里面讲得比较详细
共享给学习JBPM的兄弟姐妹们 这是个好的学习资料哦