单独用跑的时候没有问题,在action中用的时候会有如下错误:
无法将 NULL 值插入列 'VERSION_',表 'jbpm.dbo.JBPM_TASKINSTANCE';该列不允许空值。INSERT 失败。
无法将 NULL 值插入列 'VERSION_',表 'jbpm.dbo.JBPM_TASKINSTANCE';该列不允许空值。INSERT 失败。
解决方案 »
- spring下mybatis多数据源配置问题
- jar包问题!
- 学Struts2请高手帮我分析一下可能是哪出错了
- spring oracle,如何传递嵌套对象
- struts2 validation 服务器端验证,提示一些项必输,在填写后在提交到struts 的action不起作用?
- 请教JSP页面放在web-INF目录下控制安全的问题...
- 关于网站统计的问题
- 关于ewebeditor控件文本入库乱码的问题, 急!!!
- 求教高手: 同一页面上有多个按扭,其中一个是查询的但不用到 form post怎么取文本框里的内容?
- 如何将request.getparameter("allrecord")转换为对象数组?在线等
- struts2+hibernate+spring整合到一起后启动tomcat报错
- dtree 怎么添加点击事件,
java.sql.BatchUpdateException: ORA-01400: cannot insert NULL into ("TEST2"."JBPM_TASKINSTANCE"."VERSION_")
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:172)
at org.jbpm.svc.Services.close(Services.java:211)
at org.jbpm.JbpmContext.close(JbpmContext.java:139)
at com.sany.struts.action.FirstFlowProcessDBTest.createProcessInstance(FirstFlowProcessDBTest.java:77)
at com.sany.struts.action.FirstFlowProcessDBTest.test7000YuanApplication(FirstFlowProcessDBTest.java:45)
at com.sany.struts.action.JbpmTestAction.submitapp(JbpmTestAction.java:40)
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 org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Unknown Source)
Caused by: org.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:253)
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:222)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2224)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2660)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:52)
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.close(DbPersistenceService.java:162)
... 29 more
Caused by: java.sql.BatchUpdateException: ORA-01400: cannot insert NULL into ("TEST2"."JBPM_TASKINSTANCE"."VERSION_") 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:246)
... 44 more
从这一句看很奇怪啊,插入的时候就没有VERSION_字段,为什么会没有呢...
at com.sany.struts.action.FirstFlowProcessDBTest.test7000YuanApplication(FirstFlowProcessDBTest.java:45)
at com.sany.struts.action.JbpmTestAction.submitapp(JbpmTestAction.java:40)
这几行debug一下吧,看那个地方null了
恩,我也看到了,你是怎么创建JBPM_TASKINSTANCE这个表的?
public class JbpmTestAction extends DispatchAction { public ActionForward submitapp(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
FirstFlowProcessDBTest test = new FirstFlowProcessDBTest();
test.test7000YuanApplication();
return mapping.findForward("success");
}
同一个包下的另一个文件可以运行:
public class test { public static void main(String[] args) {
// TODO Auto-generated method stub
FirstFlowProcessDBTest test = new FirstFlowProcessDBTest();
test.test7000YuanApplication();
}}