Hello all,

I am seeing something strange in Xdoclet and I wonder what I am missing.

I am attempting to create a 1:1 CMR relationship, and for some reason
the keyfield tag is not generating the needed key field field name
children.

What is generated:

    <ejb-relation>
      <ejb-relation-name>job-jobaction</ejb-relation-name>

      <ejb-relationship-role>
         
<ejb-relationship-role-name>action-has-job</ejb-relationship-role-name>
          <key-fields/>
      </ejb-relationship-role>
      <ejb-relationship-role>
         
<ejb-relationship-role-name>job-has-action</ejb-relationship-role-name>
          <key-fields/>
      </ejb-relationship-role>
    </ejb-relation>

What should be generated:

    <ejb-relation>
      <ejb-relation-name>job-jobaction</ejb-relation-name>

      <ejb-relationship-role>
         
<ejb-relationship-role-name>action-has-job</ejb-relationship-role-name>
          <key-fields>
             <key-field>
               <field-name>jobActionId</field-name>
               <column-name>jobActionIdFk</column-name>
             </key-field>
          </key-fields>
      </ejb-relationship-role>
      <ejb-relationship-role>
         
<ejb-relationship-role-name>job-has-action</ejb-relationship-role-name>
          <key-fields>
             <key-field>
               <field-name>jobId</field-name>
               <column-name>jobIdFk</column-name>
             </key-field>
          </key-fields>
      </ejb-relationship-role>
    </ejb-relation>

Here is the code in JobBean for CMR:

   /**
     * JobAction of this Job
     *
     * @ejb.interface-method view-type="local"
     * @ejb.transaction
     *    type="Supports"
     *
     * @ejb.relation
     *   name="job-jobaction"
     *   role-name="job-has-action"
     *
     * @jboss:target-relation
     *   related-pk-field="jobId"
     *   fk-column="jobIdFk"
     * 
     *
     */
    public abstract com.noi.jobsched.interfaces.ds.JobAction
getAction();
    
    /**
     * @ejb.interface-method view-type="local"
     */
    public abstract void
setAction(com.noi.jobsched.interfaces.ds.JobAction action); 
    
     /**
      * Returns the jobActionIdFk
      *
      * @return the jobActionIdFk
      * @ejb.interface-method view-type="local"
      * @ejb.persistent-field
      * @ejb.persistence column-name="jobActionIdFk"
     */
     public abstract java.lang.Integer getJobActionIdFk();
  
     /**
      * Sets the jobActionIdFk
      * @ejb.interface-method view-type="local"
      * @param jobIdFk the new jobId value
      */
     public abstract void setJobActionIdFk(java.lang.Integer
jobIdFk);        
 

And the code in JobAction

     /**
      * Returns the jobIdFk
      *
      * @return the jobIdFk
      * @ejb.interface-method view-type="local"
      * @ejb.persistent-field
      * @ejb.persistence column-name="jobIdFk"
     */
     public abstract java.lang.Integer getJobIdFk();
  
     /**
      * Sets the jobIdFk
      * @ejb.interface-method view-type="local"
      * @param jobIdFk the new jobId value
      */
     public abstract void setJobIdFk(java.lang.Integer jobIdFk);       

    /**
     * Job of this JobAction
     *
     * @ejb.interface-method view-type="local"
     * @ejb.transaction
     *    type="Supports"
     *
     * @ejb.relation
     *   name="job-jobaction"
     *   role-name="action-has-job"
     *
     * @jboss:target-relation
     *   related-pk-field="jobActionId"
     *   fk-column="jobActionIdFk"
     *
     * 
     *
     */
    public abstract com.noi.jobsched.interfaces.ds.Job getJob();
        
    /**
     * @ejb.interface-method view-type="local"
     */
    public abstract void setJob(com.noi.jobsched.interfaces.ds.Job job);


It seems to me that the jboss.relation tag should put this in the jboss
deployment file, but alas it does not. Any ideas?

Clay




-------------------------------------------------------
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to