最近要做一个OA项目 需要用到Jbmp,所以做一个简单的学习测试的小程序,遇到了一个问题:数据库 Oracle 使用junit测试的 ,创建流程实例,出现了错误 代码如下: JbpmContext context = jbpmConfiguration.createJbpmContext();
context.setSessionFactory(HibernateUtils.getSessionFactory());

//从数据库中加载ProcessDefinition对象
ProcessDefinition definition = context.getGraphSession().findLatestProcessDefinition("文档测试流程");

//从流程中创建一个流程实例
ProcessInstance processInstance = new ProcessInstance(definition);
//存储流程实例
context.save(processInstance);
//加载公文
Document doc = (Document)context.getSession().load(Document.class, 1);
//绑定流程实例到公文
doc.setProcessIntanceId(processInstance.getId());
//绑定公文到流程实例(ContextInstance相当于一个变量的容器)
processInstance.getContextInstance().createVariable("document", doc.getId());
context.close();错误描述: 流程定义文件在第一次部署(存入数据库)之后 创建流程实例没有为题 并且与公文绑定正常,但是使用该
      流程定义文件再次创建一个实例 就发生了如下错误 而且原本后台使用 MySql 没有问题 ,这是移植到
      Oracle后出现的,令我百思不得其解,希望有高手为我指点迷津 谢谢
[b] [/b]       19:00:58,390 [main] ERROR AbstractFlushingEventListener : Could not synchronize database state with sessionorg.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:249)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:92)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:87)
at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:218)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2159)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2595)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:51)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.jbpm.persistence.db.DbPersistenceService.commit(DbPersistenceService.java:253)
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:211)
at org.jbpm.svc.Services.close(Services.java:222)
at org.jbpm.JbpmContext.close(JbpmContext.java:139)
at com.bjsxt.jbpm.Jbpm_04_CreateProcessInstance.testCreateProcessInstance(Jbpm_04_CreateProcessInstance.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
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:118)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.sql.BatchUpdateException: ORA-00001: ???????? (OA.SYS_C006907) at oracle.jdbc.dbaccess.DBError.throwBatchUpdateException(DBError.java:459)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:3907)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
... 35 more
19:00:58,406 [main] ERROR DbPersistenceService : hibernate commit failed
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update