Hello all,

 

Hope you can help me out on this one since it seems to me that I get errors no matter how I configure my beans. It doesn’t make a difference whether

the relationships are unidirectional or bidirctional.

 

HERE IS THE ERROR I GET  WHEN I DEPLOY TO JBOSS – I GET THIS FOR EACH OF MY BEANS:

 

Depends On Me: org.jboss.deployment.DeploymentException: Atleast one role of a foreign-key mapped r

elationship must have key fields (or <primkey-field> is missing from ejb-jar.xml): ejb-relation-name

=PaySilk-PurchaseSilk, ObjectName: jboss.j2ee:jndiName=SellSilk,service=EJB

 state: FAILED

 

MY SETUP:

IM RUNNING jboss-3.2.1_tomcat-4.1.24 WITH XDOCLET 1.2b2

 

THE SELLSILKBEAN DOSENT CONTAIN THE RELATIONSHIP NAMED IN THE ERROR-MESSAGE

THE OFFENDING RELATION  DOSENT HAVE ANYTHING TO DO WITH “SELLSILKBEAN” BUT IS DECLARED IN A

BEAN CALLED “PAYSILKBEAN” WHERE THE RELATION IS DECLARED LIKE THIS:

 

                       /**

                        * @ejb:interface-method

                        */

public abstract void setDualPurchaseSilk(java.util.Collection DualPurchaseSilk);

 

                      /**

                       * @ejb.interface-method

                                             * @ejb:relation

                                             *   name="PaySilk-PurchaseSilk"

                                             *   role-name="PaySilk-has-a-DualPurchaseSilk"

                                             *                    target-ejb="PurchaseSilk"

                                             *   target-role-name="PurchaseSilk-Belongs-To-PaySilk"

                       *   cascade-delete="no"

                       *                     multible="yes"

                       *                    target-multible="no"

                       * @jboss.target-relation

                       *   fk-column="PurchaseSilkFK"

                       *   fk-constraint = "false"

                       *   related-pk-field="PurchaseSilkPK"

                                                                                                                                                           */                  

public abstract java.util.Collection getDualPurchaseSilk();

 

 

 

IN EJB-JAR.XML IT LOOKS LIKE THIS:

<ejb-relation >

         <ejb-relation-name>PaySilk-PurchaseSilk</ejb-relation-name>

 

         <ejb-relationship-role >

            <ejb-relationship-role-name>PaySilk-has-a-DualPurchaseSilk</ejb-relationship-role-name>

            <multiplicity>One</multiplicity>

            <relationship-role-source >

               <ejb-name>PaySilk</ejb-name>

            </relationship-role-source>

            <cmr-field >

               <cmr-field-name>dualPurchaseSilk</cmr-field-name>

               <cmr-field-type>java.util.Collection</cmr-field-type>

            </cmr-field>

         </ejb-relationship-role>

 

         <ejb-relationship-role >

            <ejb-relationship-role-name>PurchaseSilk-Belongs-To-PaySilk</ejb-relationship-role-name>

            <multiplicity>Many</multiplicity>

            <relationship-role-source >

               <ejb-name>PurchaseSilk</ejb-name>

            </relationship-role-source>

         </ejb-relationship-role>

 

      </ejb-relation>

 

IN JBOSS-JDBC.XML

<ejb-relation>

      <ejb-relation-name>PaySilk-PurchaseSilk</ejb-relation-name>

 

      <ejb-relationship-role>

          <ejb-relationship-role-name>PaySilk-has-a-DualPurchaseSilk</ejb-relationship-role-name>

          <key-fields>

             <key-field>

               <field-name>PurchaseSilkPK</field-name>

               <column-name>PurchaseSilkFK</column-name>

             </key-field>

          </key-fields>

 

      </ejb-relationship-role>

      <ejb-relationship-role>

          <ejb-relationship-role-name>PurchaseSilk-Belongs-To-PaySilk</ejb-relationship-role-name>

          <fk-constraint>false</fk-constraint>

                        <key-fields/>

 

      </ejb-relationship-role>

    </ejb-relation>

 

IT SEEMS TO ME THAT “AT LEAST ONE ROLE IN THE RELATIONSHIP DOES HAVE KEYFIELDS!!!!

HOPE SOMEONE CAN POINT ME IN THE RIGHT DIRECTION OR TO MY ERROR BECAUSE IT SEEMS TO ME THAT I TRIED ALLMOST ANYTHING!

 

THANK YOU J

____________________________

:)esper Linvald

 


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.478 / Virus Database: 275 - Release Date: 06-05-2003

Reply via email to