I'm trying to setup an 1-n uni-directional relationship between two Entities (Order and LineItem).
 
Win2K Professional
JDK 1.3.1
Ant 1.5 Beta 2
Latest Xdoclet Code from CVS (Downloaded and compiled last night)
 
Here's the java doc...
 
 /**
     * Gets the Line Items for this Order
     *
     * @ejb:interface-method view-type="local"
     * @ejb:relation  name="Order-LineItems"
     *                role-name="one-Order-has-many-LineItems"
     *                target-role-name="one-LineItem-belongs-to-one-Order"
     *                target-ejb="LineItem"
     *                target-cascade-delete="yes"
     *
     * @jboss:relation-mapping style="relation-table"
     * @jboss:relation-table table-name="tb_order_lineitems"
     *                       create-table="true"
     *                       remove-table="false"
     *                       pk-constrint="true"
     * @jboss:relation related-pk-field="id"
     *                 fk-column="line_item_id"
     *                 fk-constraint="true"
     * @jboss:target-relation related-pk-field="id"
     *                        fk-column="order_id"
     *                        fk-constraint="true"
     *
     * @return Collection - The Order Line Items
     */
    public abstract java.util.Collection getLineItems();
 
Here's the generated jbosscmp-jdbc.xml
 
<ejb-relation>
    <ejb-relation-name>Order-LineItems</ejb-relation-name>
    <relation-table-mapping>
    </relation-table-mapping>
    <ejb-relationship-role>
        <ejb-relationship-role-name>one-LineItem-belongs-to-one-Order</ejb-relationship-role-name>
        <key-fields/>
    </ejb-relationship-role>
    <ejb-relationship-role>
        <ejb-relationship-role-name>one-Order-has-many-LineItems</ejb-relationship-role-name>
        <key-fields/>
    </ejb-relationship-role>
</ejb-relation>
 
Notice the table name missing from relation-table-mapping tag, and the empty key-fields tags in the ejb-relationship-role.
 
This is the expected output:
 
<ejb-relation>
   <ejb-relation-name>Order-LineItems</ejb-relation-name>
   <relation-table-mapping>
      <table-name>tb_order_lineitems</table-name>
  </relation-table-mapping>
  <ejb-relationship-role>
      <ejb-relationship-role-name>one-Order-has-many-LineItems</ejb-relationship-role-name>
      <key-fields>
          <key-field>
              <field-name>id</field-name>
              <column-name>order_id</column-name>
          </key-field>
      </key-fields>
  </ejb-relationship-role>
  <ejb-relationship-role>
      <ejb-relationship-role-name>one-LineItem-belongs-to-one-Order</ejb-relationship-role-name>
      <key-fields>
          <key-field>
              <field-name>id</field-name>
              <column-name>line_item_id</column-name>
          </key-field>
      </key-fields>
  </ejb-relationship-role>
 
Is there a problem with the java doc, or is this a bug in xdoclet?
 
Lance

 

Reply via email to