I have looked all over the place for an answer for this. I want to use a foreign key 
as a primary key. How do I declare this using xdoclet. 

I am doing this in two instances:

1) I am doing this in a one-to-one relationship where the foreign key is the same as 
the primary key.

2) I need to know how to do this in a composite primary key. I have successfuly 
declared a Entity Bean to generate a Primary Key Class but it does not generate code 
for the foreign key in the Primary Key Class.


  | /***************************************
  |  *                                     *
  |  *  JBoss: The OpenSource J2EE WebOS   *
  |  *                                     *
  |  *  Distributable under LGPL license.  *
  |  *  See terms of license at gnu.org.   *
  |  *                                     *
  |  ***************************************/
  | package org.jboss.nukes.addons.modules.test.ejb;
  | 
  | 
  | import javax.ejb.EntityBean;
  | import javax.ejb.CreateException;
  | import javax.ejb.EntityContext;
  | 
  | import java.util.Collection;
  | 
  | /**
  |  * MediaHasMissions EJB for the test module
  |  *
  |  * @author <a href="mailto:[EMAIL PROTECTED]">Dennis Przybyla</a>
  |  * @version $Revision: 1.1 $
  |  *
  |  * @ejb.bean
  |  *    name="MediaHasMissionsEJB"
  |  *    displayContent-name="MediaHasMissions"
  |  *    type="CMP"
  |  *    cmp-version="2.x"
  |  *    view-type="local"
  |  *    local-jndi-name="nukes/test/MediaHasMissions"
  |  *    schema="MediaHasMissions"
  |  *
  |  * @ejb.pk
  |  *    extends="java.lang.Object"
  |  *    package="org.jboss.nukes.addons.modules.test.ejb"
  |  *    generate="true"
  |  *
  |  * @ejb.transaction
  |  *    type="Required"
  |  *
  |  * @ejb.persistence
  |  *    table-name="MediaHasMissions"
  |  *
  |  * @jboss.persistence
  |  *    create-table="true"
  |  *    remove-table="false"
  |  *
  |  * @jboss.entity-command
  |  *    name="nukes-entity-command"
  |  *
  |  */
  | public abstract class MediaHasMissionsEJB implements EntityBean
  | {
  | 
  |    /**
  |     * @ejb.create-method
  |     */
  |    public Long ejbCreate(MediaEJBLocal media, MissionEJBLocal mission)
  |            throws CreateException
  |    {
  |       return null;
  |    }
  | 
  | 
  |    public void ejbPostCreate(MediaEJBLocal media, MissionEJBLocal mission)
  |            throws CreateException
  |    {
  |       setMission(mission);
  |       setMedia(media);
  |    }
  | 
  |     /**
  |     * @ejb.interface-method
  |     * @ejb.relation
  |     *    name="MediaLink-Missions"
  |     *    role-name="MediaLink-has-Missions"
  |     * @ejb.pk-field
  |     * @jboss.relation
  |     *    fk-column="missionId"
  |     *    related-pk-field="missionId"
  |     */
  |    public abstract org.jboss.nukes.addons.modules.test.ejb.MissionEJBLocal 
getMission();
  | 
  |    /**
  |     * @ejb.interface-method
  |     */
  |    public abstract void 
setMission(org.jboss.nukes.addons.modules.test.ejb.MissionEJBLocal mission);
  | 
  |     /**
  |     * @ejb.interface-method
  |     * @ejb.relation
  |     *    name="MissionLinks-Media"
  |     *    role-name="MissionLinks-has-Media"
  |     * @ejb.pk-field
  |     * @jboss.relation
  |     *    fk-column="mediaId"
  |     *    related-pk-field="mediaId"
  |     */
  |    public abstract org.jboss.nukes.addons.modules.test.ejb.MediaEJBLocal 
getMedia();
  | 
  |    /**
  |     * @ejb.interface-method
  |     */
  |    public abstract void 
setMedia(org.jboss.nukes.addons.modules.test.ejb.MediaEJBLocal media);
  | 
  |    // ejb callbacks ------------------------------------------------------------
  | 
  |    public void ejbActivate() { }
  |    public void ejbPassivate() { }
  |    public void ejbRemove() { }
  |    public void setEntityContext(EntityContext entityContext) { }
  |    public void unsetEntityContext() { }
  |    public void ejbLoad() { }
  |    public void ejbStore() { }
  | 
  | }
  | 

This code generates the following PK Class:


  | /*
  |  * Generated by XDoclet - Do not edit!
  |  */
  | package org.jboss.nukes.addons.modules.test.ejb;
  | 
  | /**
  |  * Primary key for MediaHasMissionsEJB.
  |  */
  | public class MediaHasMissionsEJBPK
  |    extends java.lang.Object
  |    implements java.io.Serializable
  | {
  |    private int _hashCode = 0;
  |    private StringBuffer _toStringValue = null;
  | 
  |    public MediaHasMissionsEJBPK()
  |    {
  |    }
  | 
  |    public MediaHasMissionsEJBPK(  )
  |    {
  |    }
  | 
  |    public int hashCode()
  |    {
  |       if( _hashCode == 0 )
  |       {
  |       }
  | 
  |       return _hashCode;
  |    }
  | 
  |    public boolean equals(Object obj)
  |    {
  |       if( !(obj instanceof 
org.jboss.nukes.addons.modules.test.ejb.MediaHasMissionsEJBPK) )
  |          return false;
  | 
  |       org.jboss.nukes.addons.modules.test.ejb.MediaHasMissionsEJBPK pk = 
(org.jboss.nukes.addons.modules.test.ejb.MediaHasMissionsEJBPK)obj;
  |       boolean eq = true;
  | 
  |       if( obj == null )
  |       {
  |          eq = false;
  |       }
  |       else
  |       {
  |       }
  | 
  |       return eq;
  |    }
  | 
  |    /** @return String representation of this pk in the form of 
[.field1.field2.field3]. */
  |    public String toString()
  |    {
  |       if( _toStringValue == null )
  |       {
  |          _toStringValue = new StringBuffer("[.");
  |          _toStringValue.append(']');
  |       }
  | 
  |       return _toStringValue.toString();
  |    }
  | 
  | }
  | 

notice the second constructor has no code for the Foreign Key.

Any Ideas would really be appreciated.

<a 
href="http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3827156#3827156";>View 
the original post</a>

<a 
href="http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3827156>Reply 
to the post</a>


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to