JBPM 3 DAO 층 의 디자인.
public class WorkflowUtil {
public List<ProcessInstance> findProcessInstancesByProcessDefinition(JbpmContext jbpmContext, String accountName) {
Session session = jbpmContext.getSession();
String ql = "SELECT processInstance
"
+ "FROM org.jbpm.graph.exe.ProcessInstance processInstance
"
+ "WHERE processInstance.processDefinition = :processDefinition
"
+ "AND processInstance.end IS NULL
";
session.createQuery(ql);
Query query = session.createQuery(ql).setParameter("processDefinition", processDefinition);
return query.list();
}
사실 Interface 를 사용 하면 좋 은 점 이 많 기 때문에 DAO 층 을 정의 합 니 다.모든 방법 에 JbpmContext / ession 이 있 고 우아 하지 않 기 때문에 파 라 메 터 를 간소화 합 니 다.... 와 같다
public class WorkflowDaoBean implements WorkflowDao {
private Session session;
private final static Log log = LogFactory.getLog(WorkflowDaoBean.class);
@SuppressWarnings("deprecation")
public WorkflowDaoBean(){
JbpmContext currentJbpmContext = JbpmContext.getCurrentJbpmContext();
if (currentJbpmContext!=null) {
session = currentJbpmContext.getSession();
} else {
log.info(" JbpmContext。");
}
}
public WorkflowDaoBean(Session session){
this.session = session;
}
@SuppressWarnings("unchecked")
public List<ProcessInstance> findProcessInstancesByProcessDefinition(ProcessDefinition processDefinition) {
String ql = "SELECT processInstance
"
+ "FROM org.jbpm.graph.exe.ProcessInstance processInstance
"
+ "WHERE processInstance.processDefinition = :processDefinition
"
+ "AND processInstance.end IS NULL
";
session.createQuery(ql);
Query query = session.createQuery(ql).setParameter("processDefinition", processDefinition);
return query.list();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spring에서 DAO가 순환 호출될 때 데이터가 실시간으로 업데이트되지 않는 해결 방법문제를 설명하기 전에 몇 가지 전제 사항을 설명하십시오. Spring의 구성 파일에서 다음과 같은 방식으로 데이터베이스 트랜잭션을 구성했다고 가정하십시오. 현재 UserDao 및 Security Service가 있습...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.