activiti5.17 默认查询的sql生成两个order by 关键字

huanghelove 发布于 2015/09/13 09:00
阅读 1K+
收藏 0

项目集成Activiti5.17   MyBatis3.2.5  Spring3.2  hibernate4.2 几个类库, 启用activiti的默认查询任务时, 会出现:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by RES.CREATE_TIME_ asc  

    LIMIT 10 OFFSET 0' at line 30

### The error may exist in org/activiti/db/mapping/entity/Task.xml

### The error may involve org.activiti.engine.impl.persistence.entity.TaskEntity.selectTaskByQueryCriteria-Inline

### The error occurred while setting parameters

### SQL: select distinct RES.*              from ACT_RU_TASK RES                    left        join ACT_RU_IDENTITYLINK I on I.TASK_ID_ = RES.ID_                                                WHERE  RES.SUSPENSION_STATE_ = 1                                                                                                       and (RES.ASSIGNEE_ = ? or (RES.ASSIGNEE_ is null and (I.USER_ID_ = ?               or I.GROUP_ID_ IN (select g.GROUP_ID_ from ACT_ID_MEMBERSHIP g where g.USER_ID_ = ? ) ) ) )                order by  order by RES.CREATE_TIME_ asc       LIMIT ? OFFSET ?

### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by RES.CREATE_TIME_ asc  

    LIMIT 10 OFFSET 0' at line 30。

注意红色部分, 生成了两个order by 关键字。求大神解答, 在线等。


补充说明:

1、我单独使用activiti5+spring集成测试是没有问题的, 都正常。引入公司数据持久化的项目(mybatis+hibernate)后, 就出现了这个问题。

2、出现这个问题不稳定, 时好时坏。

3、求大神解答, 求大神解答, 求大神解答!

加载中
0
pantrick
pantrick
可能是其他框架自动生成了这个语句
huanghelove
huanghelove
有怀疑这个, 但是好难找到问题。
0
littleant
littleant

这个bug是由于mybatis版本高了引起的,我遇到过。

mybatis-3.2.8.jar就行 mybatis-3.3.0.jar就不行了

huanghelove
huanghelove
是的, 已经发现了mybatis的版本问题。使用jar包自带的3.2.5的版本。但是项目发布后, 还是有这样的问题。
0
豆豆爹地
豆豆爹地
遇到过,查了一下官方的问答站,指出Activiti不支持mybatis3,你改成Activiti下载包中的mybatis版本就没问题了
huanghelove
huanghelove
版本使用了3.2.5,jar包里自带的。 换版本之后,有的机器上ok, 有的机器还是老问题, 不稳定, 一会可以, 一会不行。
0
huanghelove
huanghelove

非常感谢大家的回答, 最开始测试时就是用mybatis3.2.5,一切正常。后面和公司已有项目集成就出现这个问题, 发现公司项目使用mybatis3.3.0,然后更换了mybatis版本,问题解决。而后第二天过来又会出现同样的问题, 毫无征兆,过段时间又ok了,后面时好时坏。 也是醉醉得了。 

0
huanghelove
huanghelove

引用来自“豆豆爹地”的评论

遇到过,查了一下官方的问答站,指出Activiti不支持mybatis3,你改成Activiti下载包中的mybatis版本就没问题了

是这个问题, 应该是mybatis版本混乱引起的。 使用mybatis3.2.5(自带)。不支持3.3.0

0
huanghelove
huanghelove

引用来自“littleant”的评论

这个bug是由于mybatis版本高了引起的,我遇到过。

mybatis-3.2.8.jar就行 mybatis-3.3.0.jar就不行了

是这个问题, 应该是mybatis版本混乱引起的。 使用mybatis3.2.5(自带)。不支持3.3.0
0
huanghelove
huanghelove

问题解决了, 时好时坏应该是本地eclipse环境的问题, jar混乱引起的。使用mybatis3.2.5(自带)。不支持3.3.0。 再次谢谢各位大牛的支持。

0
许雷神
许雷神
我也遇到这问题mybatis3.3.0 + mysql + activiti5.18 我也是醉了 出现两个order by 
返回顶部
顶部