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