jbpm-关于JBPM执行过程中出现的异常

问题描述

关于JBPM执行过程中出现的异常
在使用JBPMTestCase进行测试时,测试一段时间之后就会出现一次类似的错误,之前将数据库表删除之后重新创建表,就没有该问题了,现在又出现这个情况了,请各位大神指点。错误异常代码如下。

org.hibernate.exception.GenericJDBCException: could not execute native bulk manipulation query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.engine.query.NativeSQLQueryPlan.performExecuteUpdate(NativeSQLQueryPlan.java:198)
at org.hibernate.impl.SessionImpl.executeNativeUpdate(SessionImpl.java:1190)
at org.hibernate.impl.SQLQueryImpl.executeUpdate(SQLQueryImpl.java:357)
at org.jbpm.test.Db.clean(Db.java:135)
at org.jbpm.test.Db.verifyClean(Db.java:189)
at org.jbpm.test.JbpmTestCase.verifyDbClean(JbpmTestCase.java:155)
at org.jbpm.test.JbpmTestCase.tearDown(JbpmTestCase.java:96)
at com.hna.air.jbpm.asyncactivity.TestAsync.tearDown(TestAsync.java:27)
at junit.framework.TestCase.runBare(TestCase.java:136)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.sql.SQLException: Error on rename of '.jbpmdbjbpm4_swimlane' to '.jbpmdb#sql2-bb8-26' (errno: 152)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1604)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1519)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1504)
at org.hibernate.engine.query.NativeSQLQueryPlan.performExecuteUpdate(NativeSQLQueryPlan.java:189)
... 21 more

解决方案

不能使用原生sql进行删除
final String sql= ""delete from ""+table+"" where user_id in(""+target+"")"";
hibernateTemplate.executeFind(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException
SQLException {
session.createSQLQuery(sql).executeUpdate();
return null;
}
});

时间: 2025-01-26 21:24:44

jbpm-关于JBPM执行过程中出现的异常的相关文章

deluge-shell能处理在执行过程中产生新的console,并在console中执行命令的情况吗?

问题描述 shell能处理在执行过程中产生新的console,并在console中执行命令的情况吗? 在shell执行 deluge-console 命令时会单独打开一个console cli窗口,可在其中执行一系列自定义命令.这个过程我希望全部用shell来实现,请问shell能 处理这种执行过程中出现新的命令执行console的情况吗 解决方案 可以,启动一个cmd.exe

浅谈SEO优化执行过程中的几点弊端

SEO作为近年来流行于站长界的网络推广.营销方式,正越来越被行业内从业人员的重视.一则是相对大部分传统付费营销方式在费用上的缺省,二则是相对传统免费推广方法在效果上的显而易见. 虽然SEO优化是依附于搜索引擎而生存的网站优化方法,但以其各方面的优势被站长们热力追捧,必定具有其不可抗拒的魅力.早些时候,笔者也曾简单介绍了网站seo优化的原因.其中指出网站为什么要做seo优化的5点原因:1.从搜索引擎获得的流量质量高;2.使网站简单易用,加强用户体验;3.长期有效的推广手段;4.可扩展性强;5.性价

查看MSSQL 执行过程中执行状态

  创建一个存储过程:dba_WhatSQLIsExecuting 然后执行这个存储过程就可以查看相关的信息了. MS SQL 执行过程中执行状态,可查看当前正在执行的sql等信息 当前执行到哪句SQL,等,这个可以帮助长时间的SQL执行做进度条. USE [RMA_DWH] GO /****** Object: StoredProcedure [dbo].[dba_WhatSQLIsExecuting] Script Date: 07/12/2013 10:28:27 ******/ SET

SQL SERVER 2008:内部查询处理器错误: 查询处理器在执行过程中遇到意外错误

   今天一个同事突然告诉我,以前跑得很正常的一个SQL语句,执行时突然报如下错误:         消息1222,级别16,状态18,第1 行         已超过了锁请求超时时段.         消息8630,级别16,状态1,第1 行         内部查询处理器错误: 查询处理器在执行过程中遇到意外错误. 我 执行了一下这个SQL语句,也是报如上错误,感觉有点奇怪,还是第一次遇到这种错误.我初步怀疑是SQL中某个表出现一致性错误或分配错误等原因造成.于 是先用DBCC CHECKT

wmic-bat执行过程中遇到不存在的命令如何跳过?

问题描述 bat执行过程中遇到不存在的命令如何跳过? 由于系统不存在wmic命令 ,在执行到第三排时退出了. 如何写个判断语句,当命令不存在时,逃过执行后面的语句.

sql 存储过程执行过程中的奇怪问题

问题描述 sql 存储过程执行过程中的奇怪问题 某个存储过程,大概如下 b=0,c=0,d=0 如果 a=1 执行下面的 b=b+2;c=c+3;d=d+4 否则 b=b-2;c=c-3;d=d-4 当第一次赋值a=1的时候,存储过程只执行了 b=b+2;d=d+4:而c=c+3;这个语句无执行,所以这个时候c还是0 接着执行a!=0的时候,存储过程执行 b=b-2;c=c-3;d=d-4.所以这个时候c=-3 再执行a=1,存储过程执行 b=b+2;c=c+3;d=d+4.所以这个时候c=0

Red5应用程序执行过程中遇到的错误

问题描述 我的服务器端应用程序完成下面的功能测试Demo:1.循环监听数据库,30分钟查询一次2.手动初始化数据库报警信息为1(也可以不用手动初始化,程序课自动初始化)3.查询到报警信息为1.启动视频流录制函数,录制15分钟的视频(由客户端不间断推送),录制完后将数据库中报警信息置为0:4.查询到报警信息为0,自动将报警信息置为1,30分钟后查到为1的时候可自动录制视频 客户端连接应用程序,应用程序执行过程中打印到Red5-service.log中的问题如下:INFO|jvm1|2013/01/

sql-MS SQL如何在执行过程中知道有多少用户变量.

问题描述 MS SQL如何在执行过程中知道有多少用户变量. 在一些语句对SQL的表进行增删改操作时,我想通过触发器把系统和用户操作的变量名称搞个清单列出来.新手求助,谢谢! 解决方案 楼主的意思是想知道执行的sql语句有多少个条件参数?这个还是别用触发器了,在业务逻辑层解析是不是会更好点 解决方案二: 现在情况程序就是在业务逻辑层有变量传入到SQL语句中执行,在追踪中只能拿到追查到绝对值,我想找到这个变量,从而通过触发器得到其变量值,进而引用.

visual studio-VS2013调试过程中断电后异常0x5396E06C

问题描述 VS2013调试过程中断电后异常0x5396E06C 在调试过程中突然断电,然后来电后再进工程起动调试出现如下的异常,在网上也没有查到相关的处理方法,望哪位帮我参考解决一下,谢谢! 0x5396E06C (mfc120d.dll) (FTD Test Tool.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0x00000068 时发生访问冲突. 解决方案 重新生成试试,或重新打开VS,或重新启动电脑,或重新新建个项目,应该没事吧 解决方案二: dll坏了? 试一下