寻求重现jbpm4.3中executionId映射错误的场景

探讨了在使用JBPM4和特定版本的Hibernate时,出现的ID与DBID混淆问题。该问题主要出现在调用findExecutionById方法时,执行的SQL语句错误地使用了DBID而非ID。已知在Hibernate 3.2.1.ga及更早版本中存在此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b]
目前测试的结果是hibernate-3.2.1.ga以及之前的版本下,都会出现dbid和id混淆的问题

hibernate-3.2.2.ga以及之后的版本下就不存在问题了。[/b]

自从研究jbpm4以后,经常碰到一个莫名其妙的问题,问题描述起来很简单,就是调用executionService.findExecutionById()时,执行的sql语句应该是

select * from JBPM4_EXECUTION where id_=?

但很多人确说,他们的环境里,实际执行的sql是

select * from JBPM4_EXECUTION where dbid_=?

实际上JBPM4_EXECUTION表的主键是dbid_,id_只是一个拥有唯一索引的列。在jbpm4.execution.hbm.xml中,写明了映射的sql语句是

<query name="findExecutionById">
<![CDATA[
select execution
from org.jbpm.pvm.internal.model.ExecutionImpl as execution
where execution.id = :id
]]>
</query>

本来不可能出现的问题,一而再,再而三的被人遇到,就说明这是个大问题了,可惜的是,虽然这个问题被很多人碰到,但是直到现在也没人可以为我提供一个可以重现问题场景的testcase。对自己问题描述的最清楚的人也只是说自己用了spring和jbpm4整合,其他就什么都没有了。

因此我诚挚的向遇到此类问题的人征询测试场景,附件中提供了一个配置好的spring整合jbpm4的测试用例,希望有人能够在此基础上重现这个问题。多谢了。

:P [b]目前在杭州做项目,如果离杭州这边近的同志遇到这类问题,请直接call me,周六日我可以直接跑过去调试。再次多谢。[/b]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值