[Persistence, JBoss/CMP, Hibernate, Database] - Mapping CMP field with PK (DB sequence)
by morenito9000
Hi all,
when I try to create a CMP Entity Bean I get an error:
null value in column xmoid .... could not create entity bean.
xmoid is the PK of the table info_allegato.
Values assigned to xmoid are retrieved from a db sequence (info_allegato_xmoid_seq).
I'm using JBoss 3.2.3, Postgresql 7.4 according to EJB 2.1 specs
(I'm not up-to-date :-)).
I tried different combinations of xdoclet tags inside InfoAllegatoEntityBean.java class with the same bad result :-(
I report java code (and xdoclet tags) related to CMP field
that maps PK of DB table.
| * @ejb.bean name = "InfoAllegatoEntity"
| * local-jndi-name = "ejb/InfoAllegatoEntity"
| * type = "CMP"
| * display-name = "InfoAllegato Entity Bean"
| * description = "Entity CMP..."
| * view-type = "local"
| * cmp-version = "2.x"
| * primkey-field = "xmoid"
| *
| * @ejb.persistence table-name = "info_allegato"
| *
| * @jboss.persistence table-name = "info_allegato"
| *
| * @ejb.pk class="java.lang.Integer"
| * generate="false"
| *
| * @jboss.unknown-pk class = "java.lang.Integer"
| * column-name = "xmoid"
| * jdbc-type = "INTEGER"
| * sql-type = "INTEGER"
| * auto-increment = "true"
| *
| * @jboss.entity-command name = "postgresql-fetch-seq"
| * class = "org.jboss.ejb.plugins.cmp.jdbc.keygen.JDBCPostgreSQLCreateCommand"
| *
|
| /**
| * @ejb.create-method
| * @exception = "javax.ejb.CreateException"
| */
| public Integer ejbCreate(String prodotto, Integer idMalf) throws javax.ejb.CreateException {
|
| /* I don't set pk field xmoid */
|
| setProdotto(prodotto);
| setIdMalf(idMalf);
| return null;
| }
|
| /**
| *
| * @exception = "javax.ejb.CreateException"
| */
| public void ejbPostCreate(String prodotto, Integer idMalf) throws javax.ejb.CreateException {
| }
|
|
| /**
| * @ejb.persistence column-name = "xmoid"
| * @ejb.pk-field
| *
| *
| * @jboss.column-name = "xmoid"
| * @jboss.persistence not-null = "true"
| * @jboss.persistence auto-increment = "true"
| *
| * @return
| */
| public abstract Integer getXmoid();
|
| /**
| * @param xmoid
| */
| public abstract void setXmoid(Integer xmoid);
|
|
Could anyone tell me if something is wrong in this code ?
Deploy of Entity Bean is ok but when I call create() method
of Entity Bean InfoAllegato I get the error.
Any help is very very appreciated.
Thanks in advance.
Moreno
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4004935#4004935
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4004935
19 years, 3 months
[Beginners Corner] - Mapping CMP field and PK (DB sequence) column
by morenito9000
Hi all,
when I try to create a CMP Entity Bean I get an error:
null value in column xmoid .... could not create entity bean.
xmoid is the PK of the table info_allegato.
Values assigned to xmoid are retrieved from a db sequence (info_allegato_xmoid_seq).
I'm using JBoss 3.2.3, Postgresql 7.4 according to EJB 2.1 specs
(I'm not up-to-date :-)).
I tried different combinations of xdoclet tags inside InfoAllegatoEntityBean.java class with the same bad result :-(
I report java code (and xdoclet tags) related to CMP field
that maps PK of DB table.
| * @ejb.bean name = "InfoAllegatoEntity"
| * local-jndi-name = "ejb/InfoAllegatoEntity"
| * type = "CMP"
| * display-name = "InfoAllegato Entity Bean"
| * description = "Entity CMP..."
| * view-type = "local"
| * cmp-version = "2.x"
| * primkey-field = "xmoid"
| *
| * @ejb.persistence table-name = "info_allegato"
| *
| * @jboss.persistence table-name = "info_allegato"
| *
| * @ejb.pk class="java.lang.Integer"
| * generate="false"
| *
| * @jboss.unknown-pk class = "java.lang.Integer"
| * column-name = "xmoid"
| * jdbc-type = "INTEGER"
| * sql-type = "INTEGER"
| * auto-increment = "true"
| *
| * @jboss.entity-command name = "postgresql-fetch-seq"
| * class = "org.jboss.ejb.plugins.cmp.jdbc.keygen.JDBCPostgreSQLCreateCommand"
| *
|
| /**
| * @ejb.create-method
| * @exception = "javax.ejb.CreateException"
| */
| public Integer ejbCreate(String prodotto, Integer idMalf) throws javax.ejb.CreateException {
|
| /* I don't set pk field xmoid */
|
| setProdotto(prodotto);
| setIdMalf(idMalf);
| return null;
| }
|
| /**
| *
| * @exception = "javax.ejb.CreateException"
| */
| public void ejbPostCreate(String prodotto, Integer idMalf) throws javax.ejb.CreateException {
| }
|
|
| /**
| * @ejb.persistence column-name = "xmoid"
| * @ejb.pk-field
| *
| *
| * @jboss.column-name = "xmoid"
| * @jboss.persistence not-null = "true"
| * @jboss.persistence auto-increment = "true"
| *
| * @return
| */
| public abstract Integer getXmoid();
|
| /**
| * @param xmoid
| */
| public abstract void setXmoid(Integer xmoid);
|
|
Could anyone tell me if something is wrong in this code ?
Deploy of Entity Bean is ok but when I call create() method
of Entity Bean InfoAllegato I get the error.
Any help is very very appreciated.
Thanks in advance.
Moreno
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4004933#4004933
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4004933
19 years, 3 months
[JBoss jBPM] - Deployment problem after changing workflow in process design
by markricard
The process was modified to simply add an additional node in the workflow. The old workflow would deploy just fine. But once we added in this new node, we get the errors below.
I have attached the workflow after the error log. If we revert back to the old work flow, it deploys fine.
In addition, it deploys fine on a local machine, but not on a remote machine. But the old workflow deploys perfectly on both.
anonymous wrote : 2007-01-22 12:17:43,315 564132 INFO [STDOUT] (http-0.0.0.0-8080-Processor25:) org.hibernate.MappingException: Named query not known: GraphSession.findLatestProcessDefinitionQuery
| at org.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:48)
| at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1203)
| at org.jbpm.db.GraphSession.findLatestProcessDefinition(GraphSession.java:150)
| at org.jbpm.db.GraphSession.deployProcessDefinition(GraphSession.java:67)
| at org.jbpm.JbpmContext.deployProcessDefinition(JbpmContext.java:173)
| at org.jbpm.webapp.servlet.UploadServlet.doDeployment(UploadServlet.java:94)
| at org.jbpm.webapp.servlet.UploadServlet.handleRequest(UploadServlet.java:81)
| at org.jbpm.webapp.servlet.UploadServlet.service(UploadServlet.java:50)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jbpm.webapp.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:55)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jbpm.web.JbpmContextFilter.doFilter(JbpmContextFilter.java:83)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jbpm.webapp.filter.LogFilter.doFilter(LogFilter.java:59)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
| at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
| at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
| at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:66)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:162)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
| at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
| at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
| at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
| at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
| at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
| at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
| at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
| at java.lang.Thread.run(Thread.java:595)
| 2007-01-22 12:17:43,317 564134 ERROR [org.jbpm.db.GraphSession] (http-0.0.0.0-8080-Processor25:) org.hibernate.MappingException: Named query not known: GraphSession.findLatestProcessDefinitionQuery
| 2007-01-22 12:17:43,320 564137 ERROR [org.jboss.web.localhost.Engine] (http-0.0.0.0-8080-Processor25:) StandardWrapperValve[UploadServlet]: Servlet.service() for servlet UploadServlet threw exception
| org.jbpm.JbpmException: couldn't find process definition 'Hub Files Out'
| at org.jbpm.db.GraphSession.findLatestProcessDefinition(GraphSession.java:170)
| at org.jbpm.db.GraphSession.deployProcessDefinition(GraphSession.java:67)
| at org.jbpm.JbpmContext.deployProcessDefinition(JbpmContext.java:173)
| at org.jbpm.webapp.servlet.UploadServlet.doDeployment(UploadServlet.java:94)
| at org.jbpm.webapp.servlet.UploadServlet.handleRequest(UploadServlet.java:81)
| at org.jbpm.webapp.servlet.UploadServlet.service(UploadServlet.java:50)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jbpm.webapp.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:55)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jbpm.web.JbpmContextFilter.doFilter(JbpmContextFilter.java:83)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jbpm.webapp.filter.LogFilter.doFilter(LogFilter.java:59)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
| at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
| at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
| at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:66)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:162)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
| at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
| at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
| at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
| at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
| at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
| at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
| at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: org.hibernate.MappingException: Named query not known: GraphSession.findLatestProcessDefinitionQuery
| at org.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:48)
| at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1203)
| at org.jbpm.db.GraphSession.findLatestProcessDefinition(GraphSession.java:150)
| ... 46 more
|
And here is the workflow
| <?xml version="1.0" encoding="UTF-8"?>
|
| <process-definition xmlns="urn:jbpm.org:jpdl-3.1"
| name="Hub Files Out">
| <start-state name="File Received">
| <transition name="" to="Expected File Check"></transition>
| </start-state>
| <node name="Expected File Check">
| <action class="dams.workflow.action.ExpectedFileCheckAction"></action>
| <transition name="unexpected file" to="End Hub Files Out"></transition>
| <transition name="expected file" to="Validate File"></transition>
| <transition name="error file check" to="Expected Check Retry Wait"></transition>
| </node>
| <node name="Update Prod Controller">
| <action class="dams.workflow.action.UpdateProdControllerAction"></action>
| <transition name="error update prod cont" to="Update Prod Cont Retry"></transition>
| <transition name="update success" to="OT File Transfer"></transition>
| <transition name="invalid file" to="End Hub Files Out"></transition>
| </node>
| <node name="Validate File">
| <action class="dams.workflow.action.ValidateFileAction"></action>
| <transition name="invalid file" to="End Hub Files Out"></transition>
| <transition name="valid file" to="Event Status Update"></transition>
| </node>
| <node name="OT File Transfer">
| <action class="dams.workflow.action.OTFileTransferAction"></action>
| <transition name="ftp success" to="MC Load"></transition>
| <transition name="error ot file transfer" to="OT File Transfer Retry"></transition>
| <transition name="invalid file" to="End Hub Files Out"></transition>
| </node>
| <node name="MC Load">
| <action class="dams.workflow.action.MCLoadAction"></action>
| <transition name="load success" to="End Hub Files Out"></transition>
| <transition name="retry mc load" to="MC Load Retry"></transition>
| <transition name="invalid file" to="End Hub Files Out"></transition>
| </node>
| <state name="Expected Check Retry Wait">
| <timer name='Expected Check Wait Retry' duedate='10 seconds' transition='retry file check'>
| <action class="dams.workflow.action.RetryAction" />
| </timer>
| <transition name="retry file check" to="Expected File Check"></transition>
| </state>
| <state name="Update Prod Cont Retry">
| <timer name='Update Prod Cont Retry Wait' duedate='10 seconds' transition='retry update prod cont'>
| <action class="dams.workflow.action.RetryAction" />
| </timer>
| <transition name="retry update prod cont" to="Update Prod Controller"></transition>
| </state>
| <state name="MC Load Retry">
| <timer name='MC Load Error Wait' duedate='10 seconds' transition='error mc load'>
| <action class="dams.workflow.action.RetryAction" />
| </timer>
| <transition name="error mc load" to="MC Load"></transition>
| </state>
| <state name="OT File Transfer Retry">
| <timer name='MC Load Error Wait' duedate='20 seconds' transition='retry ot file transfer'>
| <action class="dams.workflow.action.RetryAction" />
| </timer>
| <transition name="retry ot file transfer" to="OT File Transfer"></transition>
| </state>
| <end-state name="End Hub Files Out"></end-state>
| <node name="Event Status Update">
| <action class="dams.workflow.action.UpdateEventStatusAction"></action>
| <transition name="event update success" to="Update Prod Controller"></transition>
| <transition name="invalid file" to="End Hub Files Out"></transition>
| <transition name="error updating" to="Event Status Update Retry"></transition>
| </node>
| <state name="Event Status Update Retry">
| <timer name='Event Status Update Wait' duedate='10 seconds' transition='retry event update'>
| <action class="dams.workflow.action.RetryAction" />
| </timer>
| <transition name="retry event update" to="Event Status Update"></transition>
| </state>
| </process-definition>
Thank you in advance,
Mark
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4004926#4004926
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4004926
19 years, 3 months