[
http://jira.jboss.com/jira/browse/JBPM-962?page=all ]
Tom Baeyens updated JBPM-962:
-----------------------------
Fix Version/s: jBPM 3.3
this will only be resolved in 3.3.
the only thing that we currently can do is document this known limitation. the hibernate
mapping file of process definition the process definition contains the following
instructions:
<!--
replace the key element
<key column="PROCESSDEFINITION_" />
below with
<key column="PROCDEF_NODES_" />
in case you want the superstates and their nodes to be
persisted correctly. since this affects the schema
(addition of column PROCDEF_NODES_ to table JBPM_NODE)
we can't introduce this fix till 3.3
-->
also the release.notes.html contain information about this limitation
i suspect that this is a duplicate issue, but i couldn't find the other one...
SuperState.nodes Mapping causes serious problems
------------------------------------------------
Key: JBPM-962
URL:
http://jira.jboss.com/jira/browse/JBPM-962
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM jPDL 3.2
Reporter: Bernd Ruecker
Assigned To: Tom Baeyens
Fix For: jBPM 3.3
The SuperState Node mapping in the database has a problem.
When parsing a process, everything is done fine. All Nodes at the root level are added to
the nodes-association at the process-definition and the nodes in the super-state are added
to the super-state nodes.
But after persisting we have a problem: For every Node the processDefinition-association
is set (by JpdlXmlReader.readNodes). So we have a id in every database column for
PROCESSDEFINITION_.
Because of the many-to-one mapping in ProcessDefinition:
<list name="nodes" cascade="all">
<cache usage="nonstrict-read-write"/>
<key column="PROCESSDEFINITION_" />
<list-index column="NODECOLLECTIONINDEX_" />
<one-to-many class="org.jbpm.graph.def.Node" />
</list>
we now load ALL nodes in the nodes-List in ProcessDefinition (instead of only root
nodes). To make things worse, because of the NODECOLLECTIONINDEX_ overlapping with
SuperState-Nodes, we only get some of the nodes (I think it is somehow random which
ones).
Took some minutes to catch that ;-)
One possible fix would be to NOT set the processDefinition for SuperState-Nodes (not my
favorite) or maybe improve the mapping to reflect the situation (sorry, there my hibernate
expertise ends).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira