博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Activiti 5.18 的Mybatis版本问题
阅读量:7121 次
发布时间:2019-06-28

本文共 1816 字,大约阅读时间需要 6 分钟。

  hot3.png

试用了Activiti近期推出的5.18版本,按照User Guide初始化了工程,为简单起见使用了嵌入式的H2数据库。

增加了单元测试:

@Testpublic void testDeployAndRun() {	repositoryService.createDeployment().addClasspathResource("def/a.bpmn").deploy();	repositoryService.createProcessDefinitionQuery().singleResult();//	repositoryService.createProcessDefinitionQuery().processDefinitionKey("a").orderByDeploymentId().asc().singleResult();	runtimeService.startProcessInstanceByKey("a");	logger.debug("Number of process instances: " + runtimeService.createProcessInstanceQuery().count());//	List
 tasks = taskService.createTaskQuery().list();// assertNotNull(tasks);// assertTrue(tasks.size() > 0);}

结果执行到:

repositoryService.createProcessDefinitionQuery().singleResult();

运行报错:

org.apache.ibatis.exceptions.PersistenceException: ### Error querying database.  Cause: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "SELECT RES.*            FROM ACT_RE_PROCDEF RES                   ORDER BY  ORDER[*] BY RES.ID_ ASC      LIMIT ? OFFSET ? "; expected "=, NOT, EXISTS, INTERSECTS, SELECT, FROM"; SQL statement:select RES.*            from ACT_RE_PROCDEF RES                   order by  order by RES.ID_ asc      LIMIT ? OFFSET ? [42001-176]

其中order by部分出现两次。

增加orderByDeploymentId().asc()方法调用仍然是同样的错误。

越过repositoryService的查询,启动流程后,查询Task时也是类似的错误。即部署、启动等操作正常执行了,但查询类操作失败。

跟踪了一下Activiti的源代码,实际执行的MyBatis语句如下(ProcessDefinition.xml):

  
   ${limitBefore}    select RES.* ${limitBetween}    
    ${orderBy}    ${limitAfter}  

代码中有一处orderBy的变量,具体赋值不知道哪里处理的,对于出现的问题有些不解。

网上搜索了一下,发现github上的一个帖子:

问题描述相一致。问题在于使用了MyBatis 3.3.0版本。Activiti 5.18自身声明的MyBatis版本是3.2.5. 帖子的最后,Activiti的人员回复“Because Activiti currently does not work with MyBatis 3.3.x.”。

将maven声明的MyBatis版本修改为3.2.5,测试通过。

不知道MyBatis 3.3.0和3.2.5有何不同?

转载于:https://my.oschina.net/moon/blog/502638

你可能感兴趣的文章
P3153 [CQOI2009]跳舞
查看>>
啥?客户叫在DataGridView的左上角添加CheckBox?
查看>>
第一次博客作业 <西北师范大学| 周安伟>
查看>>
C++ UI资源
查看>>
20135337——信息安全设计基础第十三周学习笔记
查看>>
gulp简介
查看>>
容器占用空间的小问题
查看>>
从加载的XML文档重建工作流
查看>>
Codeforces 349B - Color the Fence
查看>>
mysql分组查询前n条数据
查看>>
db2表空间自动扩展
查看>>
用Vue来实现音乐播放器(十七):歌手页右侧快速入口实现
查看>>
比原空投问答题库题解(一)
查看>>
[NOI2016]区间
查看>>
最大子数组问题
查看>>
HTTP-web服务器接收到client请求后的处理过程(很详细)
查看>>
面向对象进阶
查看>>
Mininet系列实验(三):Mininet命令延伸实验扩展
查看>>
CSS设计模式之三权分立模式篇
查看>>
centos6.5 mysql安装+远程访问+备份恢复+基本操作+卸载
查看>>