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();
或者修改源代码,为其添加一个空格。
本文介绍了一种在查询已结束的流程实例时遇到的问题及解决方案。通过调整查询语句使用正确的状态标识或修改源代码添加空格来避免SQL语法错误。
1008

被折叠的 条评论
为什么被折叠?



