List<HistoryProcessInstance> hpiList = historyService.createHistoryProcessInstanceQuery()
.processDefinitionId(processDefinitionId).ended().orderAsc(HistoryProcessInstanceQuery.PROPERTY_STARTTIME).list();
以上这句代码在查询时会报如下的错:
unexpected token: by near line 1, column 178 [select hpi from org.jbpm.pvm.internal.history.model.HistoryProcessInstanceImpl as hpi where hpi.processDefinitionId = 'alertline_outline-1' and hpi.endTime is not nullorder by hpi.startTime asc]
看,后台代码在拼接hql的时候,没有分开nullorder
所以如果想查出已结束的流程可以这样写:
List<HistoryProcessInstance> hpiList = historyService.createHistoryProcessInstanceQuery()
.processDefinitionId(processDefinitionId).state(HistoryProcessInstance.STATE_ENDED)
.orderAsc(HistoryProcessInstanceQuery.PROPERTY_STARTTIME).list();
或者修改源代码,为其添加一个空格。