I'm trying to create a many-to-many relation for JBoss where the keys
consist of multiple fields.

For example, consider the following code that has single-field keys:

public abstract class FooBean {
  .
  .
  /**
  * @ejb:relation name="foo-bar" role-name="foo-role"
  * @jboss:relation
  *   fk-column="barId"
  *   related-pk-field="id"
  */
  public abstract Collection getBars();
}

public abstract class BarBean {
  .
  .
  /**
  * @ejb:relation name="foo-bar" role-name="bar-role"
  * @jboss:relation
  *   fk-column="fooKey1"
  *   related-pk-field="key1"
  */
  public abstract Collection getFoos();
}

XDoclet will generate this in jbosscmp-jdbc.xml:

<ejb-relation>
  <ejb-relation-name>foo-bar</ejb-relation-name>
  <relation-table-mapping>
  </relation-table-mapping>
  <ejb-relationship-role>
      <ejb-relationship-role-name>bar-role</ejb-relationship-role-name>
      <key-fields>
         <key-field>
           <field-name>id</field-name>
           <column-name>barId</column-name>
         </key-field>
      </key-fields>
  </ejb-relationship-role>
  <ejb-relationship-role>
      <ejb-relationship-role-name>foo-role</ejb-relationship-role-name>
      <key-fields>
         <key-field>
           <field-name>key1</field-name>
           <column-name>fooKey1</column-name>
         </key-field>
      </key-fields>
  </ejb-relationship-role>
</ejb-relation>

So far so good, but what if I want Foo to have a compound key, consisting of
key1 and key2, like this:

  <ejb-relationship-role>
      <ejb-relationship-role-name>foo-role</ejb-relationship-role-name>
      <key-fields>
         <key-field>
           <field-name>key1</field-name>
           <column-name>fooKey1</column-name>
         </key-field>
         <key-field>
           <field-name>key2</field-name>
           <column-name>fooKey2</column-name>
         </key-field>
      </key-fields>
  </ejb-relationship-role>

How do I do this in XDoclet? The fk-column and related-pk-field attributes
in @jboss:relation only seem to support one field per key.

Thanks.

Martin



-------------------------------------------------------
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to