在带有 postgres 数据库的 jbpm 6.5.0Final 中出现错误:“id”列中的空值违反了非空约束
Posted
技术标签:
【中文标题】在带有 postgres 数据库的 jbpm 6.5.0Final 中出现错误:“id”列中的空值违反了非空约束【英文标题】:In jbpm6.5.0Final with posgres database ERROR: null value in column "id" violates not-null constraint 【发布时间】:2018-03-20 10:54:09 【问题描述】:我正在使用带有 Postgres 数据库连接的 jbpm6.5.0Final。当我尝试通过 jbpm-workbench 容器启动时,显示以下错误:
KieSolverAssemblerService 09:06:34,547 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (MSC service thread 1-4) SQL Error: 0, SQLState: 23502 09:06:34,547 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (MSC service thread 1-4) ERROR: null value in column "id" violates not-null constraint Detail: Failing row contains (null, null, null, 2017-10-09 09:06:34.48, 0).
09:06:34,550 WARN [org.drools.persistence.SingleSessionCommandService](MSC 服务线程 1-4)无法提交会话:javax.persistence.PersistenceException:org.hibernate.exception.ConstraintViolationException:无法执行语句 在 org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1692) 在 org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602) 在 org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1608) 在 org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1152) 在 org.drools.persistence.jpa.JpaPersistenceContext.persist(JpaPersistenceContext.java:56) 在 org.drools.persistence.SingleSessionCommandService.(SingleSessionCommandService.java:110) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在 org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommandService(KnowledgeStoreServiceImpl.java:171) 在 org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newKieSession(KnowledgeStoreServiceImpl.java:70) 在 org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newKieSession(KnowledgeStoreServiceImpl.java:39) 在 org.kie.internal.persistence.jpa.JPAKnowledgeService.newStatefulKnowledgeSession(JPAKnowledgeService.java:121) 在 org.jbpm.runtime.manager.impl.factory.JPASessionFactory.newKieSession(JPASessionFactory.java:42) 在 org.jbpm.runtime.manager.impl.SingletonRuntimeManager.init(SingletonRuntimeManager.java:97) 在 org.jbpm.runtime.manager.impl.RuntimeManagerFactoryImpl.newSingletonRuntimeManager(RuntimeManagerFactoryImpl.java:64) 在 org.jbpm.services.cdi.impl.manager.RuntimeManagerFactoryCDIImpl$Proxy$_$$WeldClientProxy.newSingletonRuntimeManager(未知来源) 在 org.jbpm.kie.services.impl.AbstractDeploymentService.commonDeploy(AbstractDeploymentService.java:134) 在 org.jbpm.kie.services.impl.KModuleDeploymentService.deploy(KModuleDeploymentService.java:196) 在 org.jbpm.services.cdi.impl.DeploymentServiceCDIImpl$Proxy$$$WeldClientProxy.deploy(未知来源) 在 org.jbpm.console.ng.bd.backend.server.DeploymentManagerEntryPointImpl.initDeployments(DeploymentManagerEntryPointImpl.java:128) 在 org.jbpm.console.ng.bd.backend.server.DeploymentManagerEntryPointImpl$Proxy$$$WeldClientProxy.initDeployments(未知来源) 在 org.jbpm.console.ng.bd.backend.server.AdministrationServiceImpl.bootstrapDeployments(AdministrationServiceImpl.java:194) 在 org.jbpm.console.ng.bd.backend.server.AdministrationServiceImpl$Proxy$$$WeldClientProxy.bootstrapDeployments(未知来源) 在 org.kie.workbench.backend.AppSetup.assertPlayground(AppSetup.java:180) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:98) 在 org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.postConstruct(DefaultLifecycleCallbackInvoker.java:81) 在 org.jboss.weld.injection.producer.BasicInjectionTarget.postConstruct(BasicInjectionTarget.java:126) 在 org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:171) 在 org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96) 在 org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:101) 在 org.jboss.weld.bean.ContextualInstanceStrategy$ApplicationScopedContextualInstanceStrategy.get(ContextualInstanceStrategy.java:141) 在 org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50) 在 org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99) 在 org.jboss.weld.bean.proxy.ProxyMethodHandler.getInstance(ProxyMethodHandler.java:125) 在 org.kie.workbench.backend.AppSetup$Proxy$$$_WeldClientProxy.toString(未知来源) 在 org.uberfire.backend.server.cdi.SystemConfigProducer.runPostConstruct(SystemConfigProducer.java:162) 在 org.uberfire.backend.server.cdi.SystemConfigProducer.afterDeploymentValidation(SystemConfigProducer.java:143) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88) 在 org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:144) 在 org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:309) 在 org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:124) 在 org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:287) 在 org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:265) 在 org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:271) 在 org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:260) 在 org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:154) 在 org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:148) 在 org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53) 在 org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:35) 在 org.jboss.weld.bootstrap.events.AfterDeploymentValidationImpl.fire(AfterDeploymentValidationImpl.java:28) 在 org.jboss.weld.bootstrap.WeldStartup.validateBeans(WeldStartup.java:450) 在 org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:90) 在 org.jboss.as.weld.WeldStartService.start(WeldStartService.java:96) 在 org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) 在 org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:748) 引起:org.hibernate.exception.ConstraintViolationException:无法执行语句 在 org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:112) 在 org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) 在 org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109) 在 org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:95) 在 org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:207) 在 org.hibernate.dialect.identity.GetGeneratedKeysDelegate.executeAndExtract(GetGeneratedKeysDelegate.java:57) 在 org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:42) 在 org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2792) 在 org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3363) 在 org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81) 在 org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:597) 在 org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:232) 在 org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:213) 在 org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:256) 在 org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:317) 在 org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:272) 在 org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:178) 在 org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:109) 在 org.hibernate.jpa.event.internal.core.JpaPersistEventListener.saveWithGeneratedId(JpaPersistEventListener.java:67) 在 org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:189) 在 org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:132) 在 org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:58) 在 org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:775) 在 org.hibernate.internal.SessionImpl.persist(SessionImpl.java:748) 在 org.hibernate.internal.SessionImpl.persist(SessionImpl.java:753) 在 org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1146) ... 64 更多 引起:org.postgresql.util.PSQLException:错误:“id”列中的空值违反非空约束 详细信息:失败行包含 (null, null, null, 2017-10-09 09:06:34.48, 0)。 在 org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2182) 在 org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1911) 在 org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:173) 在 org.postgresql.jdbc.PgStatement.execute(PgStatement.java:622) 在 org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:472) 在 org.postgresql.jdbc.PgStatement.executeUpdate(PgStatement.java:429) 在 org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:537) 在 org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204) ... 85 更多
还有
09:06:34,597 INFO [org.jbpm.kie.services.impl.store.DeploymentSynchronizer](MSC 服务线程 1-4)部署单元 org.guvnor:guvnor-asset-mgmt-project:6.5.0。最终成功删除
09:06:34,853 ERROR [org.kie.remote.services.rest.jaxb.DynamicJaxbContextManager] (MSC service thread 1-4) JAXB context instance could not be found when undeploying deployment 'org.guvnor:guvnor-asset-mgmt-project:6.5.0.Final'!
09:06:34,854 WARN [org.jbpm.kie.services.impl.KModuleDeploymentService](MSC 服务线程 1-4)部署单元 org.guvnor:guvnor-asset-mgmt-project:6.5.0.Final 时出现意外错误: java.lang.RuntimeException:java.lang.IllegalStateException:java.lang.reflect.InvocationTargetException 在 org.jbpm.kie.services.impl.AbstractDeploymentService.commonDeploy(AbstractDeploymentService.java:161) 在 org.jbpm.kie.services.impl.KModuleDeploymentService.deploy(KModuleDeploymentService.java:196) 在 org.jbpm.services.cdi.impl.DeploymentServiceCDIImpl$Proxy$_$$WeldClientProxy.deploy(未知来源) 在 org.jbpm.console.ng.bd.backend.server.DeploymentManagerEntryPointImpl.initDeployments(DeploymentManagerEntryPointImpl.java:128) 在 org.jbpm.console.ng.bd.backend.server.DeploymentManagerEntryPointImpl$Proxy$$$WeldClientProxy.initDeployments(未知来源) 在 org.jbpm.console.ng.bd.backend.server.AdministrationServiceImpl.bootstrapDeployments(AdministrationServiceImpl.java:194) 在 org.jbpm.console.ng.bd.backend.server.AdministrationServiceImpl$Proxy$$$WeldClientProxy.bootstrapDeployments(未知来源) 在 org.kie.workbench.backend.AppSetup.assertPlayground(AppSetup.java:180) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:98) 在 org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.postConstruct(DefaultLifecycleCallbackInvoker.java:81) 在 org.jboss.weld.injection.producer.BasicInjectionTarget.postConstruct(BasicInjectionTarget.java:126) 在 org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:171) 在 org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96) 在 org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:101) 在 org.jboss.weld.bean.ContextualInstanceStrategy$ApplicationScopedContextualInstanceStrategy.get(ContextualInstanceStrategy.java:141) 在 org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50) 在 org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99) 在 org.jboss.weld.bean.proxy.ProxyMethodHandler.getInstance(ProxyMethodHandler.java:125) 在 org.kie.workbench.backend.AppSetup$Proxy$$$WeldClientProxy.toString(未知来源) 在 org.uberfire.backend.server.cdi.SystemConfigProducer.runPostConstruct(SystemConfigProducer.java:162) 在 org.uberfire.backend.server.cdi.SystemConfigProducer.afterDeploymentValidation(SystemConfigProducer.java:143) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88) 在 org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:144) 在 org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:309) 在 org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:124) 在 org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:287) 在 org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:265) 在 org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:271) 在 org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:260) 在 org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:154) 在 org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:148) 在 org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53) 在 org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:35) 在 org.jboss.weld.bootstrap.events.AfterDeploymentValidationImpl.fire(AfterDeploymentValidationImpl.java:28) 在 org.jboss.weld.bootstrap.WeldStartup.validateBeans(WeldStartup.java:450) 在 org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:90) 在 org.jboss.as.weld.WeldStartService.start(WeldStartService.java:96) 在 org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) 在 org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:748) 引起:java.lang.IllegalStateException:java.lang.reflect.InvocationTargetException 在 org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommandService(KnowledgeStoreServiceImpl.java:185) 在 org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newKieSession(KnowledgeStoreServiceImpl.java:70) 在 org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newKieSession(KnowledgeStoreServiceImpl.java:39) 在 org.kie.internal.persistence.jpa.JPAKnowledgeService.newStatefulKnowledgeSession(JPAKnowledgeService.java:121) 在 org.jbpm.runtime.manager.impl.factory.JPASessionFactory.newKieSession(JPASessionFactory.java:42) 在 org.jbpm.runtime.manager.impl.SingletonRuntimeManager.init(SingletonRuntimeManager.java:97) 在 org.jbpm.runtime.manager.impl.RuntimeManagerFactoryImpl.newSingletonRuntimeManager(RuntimeManagerFactoryImpl.java:64) 在 org.jbpm.services.cdi.impl.manager.RuntimeManagerFactoryCDIImpl$Proxy$$$_WeldClientProxy.newSingletonRuntimeManager(未知来源) 在 org.jbpm.kie.services.impl.AbstractDeploymentService.commonDeploy(AbstractDeploymentService.java:134) ... 49 更多 引起:java.lang.reflect.InvocationTargetException 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在 org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommandService(KnowledgeStoreServiceImpl.java:171) ... 57 更多 引起:javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: 无法执行语句 在 org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1692) 在 org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602) 在 org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1608) 在 org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1152) 在 org.drools.persistence.jpa.JpaPersistenceContext.persist(JpaPersistenceContext.java:56) 在 org.drools.persistence.SingleSessionCommandService.(SingleSessionCommandService.java:110) ... 62 更多 引起:org.hibernate.exception.ConstraintViolationException:无法执行语句 在 org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:112) 在 org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) 在 org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109) 在 org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:95) 在 org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:207) 在 org.hibernate.dialect.identity.GetGeneratedKeysDelegate.executeAndExtract(GetGeneratedKeysDelegate.java:57) 在 org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:42) 在 org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2792) 在 org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3363) 在 org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81) 在 org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:597) 在 org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:232) 在 org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:213) 在 org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:256) 在 org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:317) 在 org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:272) 在 org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:178) 在 org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:109) 在 org.hibernate.jpa.event.internal.core.JpaPersistEventListener.saveWithGeneratedId(JpaPersistEventListener.java:67) 在 org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:189) 在 org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:132) 在 org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:58) 在 org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:775) 在 org.hibernate.internal.SessionImpl.persist(SessionImpl.java:748) 在 org.hibernate.internal.SessionImpl.persist(SessionImpl.java:753) 在 org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1146) ... 64 更多 引起:org.postgresql.util.PSQLException:错误:“id”列中的空值违反非空约束 详细信息:失败行包含 (null, null, null, 2017-10-09 09:06:34.48, 0)。 在 org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2182) 在 org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1911) 在 org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:173) 在 org.postgresql.jdbc.PgStatement.execute(PgStatement.java:622) 在 org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:472) 在 org.postgresql.jdbc.PgStatement.executeUpdate(PgStatement.java:429) 在 org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:537) 在 org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204) ... 85 更多
【问题讨论】:
向***.com/questions/44104328/…复制问题 是的,我也在那里看到并发表了我的评论,但是有人删除了我的评论,那里没有答案。你知道这个问题的答案吗? @hnandarusdy 我在启动 jbpm-workbench docker 时收到此错误。 不幸的是,我使用的是 mysql 而不是 postgres。这从来没有发生在我身上。但是,从我的角度来看,您可能需要更改 postgres 中的一些表并使用 auto_increment 应用该值 【参考方案1】:大家好,我有一个解决方案。根据该站点的文档:http://www.mastertheboss.com/jboss-jbpm/jbpm6/configuring-jbpm-6-to-use-a-non-default-database
需要从 jbpm-console.war/WEB-INF/classes/META-INF/persistence.xml 更改 persistence.xml。这在部署文件夹中可用,我将其移出并更改了
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
到
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
并通过 Dockerfile 将 jbpm-console.war 移动到部署文件夹。然后无需任何更改即可开始工作。
【讨论】:
以上是关于在带有 postgres 数据库的 jbpm 6.5.0Final 中出现错误:“id”列中的空值违反了非空约束的主要内容,如果未能解决你的问题,请参考以下文章