Dain, Matt,

We are not yet supporting such a case. I think that the fix is simple and I will work on that tonight.

Meanwhile, I believe that there is an issue with the mapping of the CMR field. The message:
Role EJB [WorkOrderEnt]; CMR field [assembly] is misconfigured: column [WO_NUMBER] is not a primary key.
should actually be:
Role EJB [WorkOrderEnt]; CMR field [assembly] is misconfigured: primary key column [WO_NUMBER] is not mapped to a foreign key.


The following declaration:
<ejb-relationship-role>
<ejb-relationship-role-name>WorkOrderEnt</ ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>WorkOrderEnt</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>assembly</cmr-field-name>
</cmr-field>
<role-mapping>
<cmr-field-mapping>
<key-column>WO_ASSEMBLY_ID</key- column>
<foreign-key-column>P_ID</foreign- key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>


means that the column "WO_ASSEMBLY_ID" is a primary key column and "P_ID" is the associated foreign key column. I believe that it should be in the reverse order. The following declaration achieves that:
<ejb-relationship-role>
<ejb-relationship-role-name>WorkOrderEnt</ ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>WorkOrderEnt</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>assembly</cmr-field-name>
</cmr-field>
<foreign-key-column-on-source/>
<role-mapping>
<cmr-field-mapping>
<key-column>P_ID</key- column>
<foreign-key-column>WO_ASSEMBLY_ID</foreign- key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>


Thanks,
Gianny

On 17/05/2005 1:43 PM, Dain Sundstrom wrote:

Gianny,

Do we support CMRs mapped to the same column as a CMP field? If we do, is there an example somewhere?

-dain

On May 16, 2005, at 8:24 PM, Matt Hogstrom wrote:

I am attempting to deploy SPECjAppServer using OpenEJB 2.0 on Geronimo. When deploying the ear the following message is put out:

deploy ..\specj.ear geronimo-application.xml
Deployment failed
Server reports: org.apache.geronimo.common.DeploymentException: Module [mfg.jar]
Module [mfg.jar]
Role EJB [WorkOrderEnt]; CMR field [assembly] is misconfigured: column [WO_NUMBER] is not a primary key.


I'm not sure what WO_NUMBER has to do with the CMR as the actual column name for the relationship is WO_ASSEMBLY_ID. Note that in this deployment the same column (WO_ASSEMBLY_ID) is being mapped to CMP field assemblyId as well as CMR field assembly.

First I would like to confirm that this is the proper deployment configuration for this scenario and also that CMR and CMP fields pointing to the same column is supported.

Next, if you have an idea as to the problem great. I'll look at the code but if this pops as an obvious duh on my part let me know. Thanks

I have attached the XML for the Application. Here are the relevant fragments:

<entity>
<ejb-name>AssemblyEnt</ejb-name>
<table-name>M_PARTS</table-name>
<cmp-field-mapping>
<cmp-field-name>name</cmp-field-name>
<table-column>P_NAME</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>id</cmp-field-name>
<table-column>P_ID</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>planner</cmp-field-name>
<table-column>P_PLANNER</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>lomark</cmp-field-name>
<table-column>P_LOMARK</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>purchased</cmp-field-name>
<table-column>P_IND</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>revision</cmp-field-name>
<table-column>P_REV</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>himark</cmp-field-name>
<table-column>P_HIMARK</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>type</cmp-field-name>
<table-column>P_TYPE</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>description</cmp-field-name>
<table-column>P_DESC</table-column>
</cmp-field-mapping>
</entity>
<entity>
<ejb-name>WorkOrderEnt</ejb-name>
<table-name>M_WORKORDER</table-name>
<cmp-field-mapping>
<cmp-field-name>startDate</cmp-field-name>
<table-column>WO_START_DATE</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>compQty</cmp-field-name>
<table-column>WO_COMP_QTY</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>assemblyId</cmp-field-name>
<table-column>WO_ASSEMBLY_ID</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>dueDate</cmp-field-name>
<table-column>WO_DUE_DATE</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>origQty</cmp-field-name>
<table-column>WO_ORIG_QTY</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>status</cmp-field-name>
<table-column>WO_STATUS</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>salesId</cmp-field-name>
<table-column>WO_O_ID</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>id</cmp-field-name>
<table-column>WO_NUMBER</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>oLineId</cmp-field-name>
<table-column>WO_OL_ID</table-column>
</cmp-field-mapping>
<resource-ref>
<ref-name>jms/QueueConnectionFactory</ref-name>
<resource-link>SPECConnectionFactory</resource-link>
</resource-ref>
<resource-env-ref>
<ref-name>jms/FulfillOrderQueue</ref-name>
<message-destination-link>FulfillOrderQueue</message- destination-link>
</resource-env-ref>
<resource-env-ref>
<ref-name>jms/BuyerQueue</ref-name>
<message-destination-link>BuyerQueue</message-destination- link>
</resource-env-ref>
</entity>
<ejb-relation>
<ejb-relation-name>WorkOrderEnt-AssemblyEnt</ ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>WorkOrderEnt</ ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>WorkOrderEnt</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>assembly</cmr-field-name>
</cmr-field>
<role-mapping>
<cmr-field-mapping>
<key-column>WO_ASSEMBLY_ID</key- column>
<foreign-key-column>P_ID</foreign- key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
</ejb-relation>
Thanks,


Matt
<IMSTP.gif>
<IMSTP.gif>
<BackGrnd.jpg>
<geronimo-application.xml>






Reply via email to